Encoding device, encoding method, decoding device, and decoding method

ABSTRACT

The present technology relates to an encoding device and an encoding method, and a decoding device and a decoding method that are capable of reducing the calculation amount of orthogonal transform processing or inverse orthogonal transform processing. A DWT unit ( 91 ) performs a DWT of which the calculation amount is smaller than that of a KLT for residual information. KLT units ( 92 - 0  to  92 - 8 ) perform separable-type KLTs for a low-frequency component of the residual information that is acquired as a result of the DWT using bases of KLTs of the corresponding intra prediction modes. A coefficient acquired as a result of the KLT and a high-frequency component of the residual information that is acquired as a result of the DWT are losslessly encoded. The present technology can be applied to, for example, an image encoding device.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims the benefit of priorityfrom U.S. application Ser. No. 13/805,428, filed Dec. 19, 2012, which isa national stage of International Application No. PCT/JP2011/065734,filed Jul. 8, 2011, which is based upon and claims the benefit ofpriority from Japanese Patent Application No. 2010-160952, filed Jul.15, 2010.

TECHNICAL FIELD

The present technology relates to an encoding device, an encodingmethod, a decoding device, and a decoding method, and more particularly,to an encoding device, an encoding method, a decoding device, and adecoding method capable of reducing the amount of calculation oforthogonal transform processing or inverse orthogonal transformprocessing.

BACKGROUND ART

In an advanced video coding (AVC) mode, a mode dependent directionaltransform (MDDT) that improves intra prediction encoding is proposed(for example, see Patent Documents 1 and 2). The MDDT is a technologyfor improving the encoding efficiency by using a Karhunen-Loevetransform (KLT) in accordance with an intra prediction mode instead ofusing a conventional discrete cosine transform (DCT) when an orthogonaltransformation is performed for a residual error between anintra-predicted image and an input image.

The KLT is such a transform that coefficients after the transform haveno correlation and is a transform in which the dispersion of a firstprincipal component is a maximum. More bits are assigned to a largecoefficient of dispersion that is acquired by such a transform, andfewer bits are assigned to a small coefficient of the dispersion,whereby the encoding efficiency can be improved.

Further, as described in Patent Document 1, the residual error betweenan intra-predicted image and an input image depends on an intraprediction mode. Accordingly, in the MDDT, bases of the KLT are learnedin accordance with an intra prediction mode in advance, and, by using abase of the KLT that differs in accordance with each intra predictionmode, the residual can be efficiently transformed.

However, the KLT has a calculation amount more than the DCT. Thus, inPatent Document 2, it is proposed to decrease the number of times ofmultiplication by performing not a non-separable type KLT that hasgenerality but a separable-type KLT having a relatively small amount ofcalculation for the residual between an intra-predicted image and aninput-image.

CITATION LIST Non-Patent Documents

-   Non-Patent Document 1: Marta Karczewicz, “Improved Intra Coding”,    VCEG (Video Coding Experts Group)-AF15, USA, April, 2007-   Non-Patent Document 2: Yan Ye, Marta Karczewicz, “Improved Intra    Coding”, VCEG (Video Coding Experts Group)-AG11r1, China, October,    2007

SUMMARY OF THE INVENTION Problems to be Solved by the Invention

However, as disclosed in Patent Document 2, even in a case where theseparable-type KLT is performed, when the block size is large, theamount of calculation is large. More specifically, when the block sizeis N×N pixels, the order of the amount of calculation of the DCT using ahigh-speed algorithm is N log|N|, and the order of the amount ofcalculation of the separable-type KLT is N². Accordingly, as the blocksize becomes larger, the amount of calculation of the separable-type KLTbecomes larger than the amount of calculation of the DCT using ahigh-speed algorithm.

As a result, in a case where the separable-type KLT is realized byhardware, the circuit scale of the large scale integration (LSI)increases, and accordingly, the manufacturing cost increases. On theother hand, in a case where the separable-type KLT is realized bysoftware, the amount of processing increases, and it is difficult toreproduce an image in real time.

The present technology is contrived in view of such situations andenables a decrease in the amount of calculation in orthogonal transformprocessing or inverse orthogonal transform processing.

Solutions to Problems

A first aspect of the present technology is an encoding deviceincluding: a prior orthogonal transformation unit that performs a secondorthogonal transform of which a calculation amount is smaller than acalculation amount of a first orthogonal transform for an image; aposterior orthogonal transformation unit that performs the firstorthogonal transform for a low-frequency component of the image that isacquired as a result of the second orthogonal transform; and an encodingunit that encodes the low-frequency component after the first orthogonaltransform and a high-frequency component of the image that is acquiredas a result of the second orthogonal transform.

An encoding method according to the first aspect of the presenttechnology corresponds to the encoding device according to the firstaspect of the present technology.

According to the first aspect of the present technology, a secondorthogonal transform of which the calculation amount is smaller thanthat of a first orthogonal transform is performed for an image, thefirst orthogonal transform is performed for a low-frequency component ofthe image that is acquired as a result of the second orthogonaltransform, and the low-frequency component after the first orthogonaltransform and a high-frequency component of the image that is acquiredas a result of the second orthogonal transform are encoded.

A second aspect of the present technology is a decoding deviceincluding: a decoding unit that acquires a coefficient of alow-frequency component of an image after a first orthogonal transformthat is acquired as a result of performing a second orthogonal transformof which a calculation amount is smaller than a calculation amount ofthe first orthogonal transform as a result of encoding the image and aresult of encoding a high-frequency component of the image that isacquired as a result of performing the second orthogonal transform anddecodes a result of encoding of the image; a prior inverse orthogonaltransformation unit that performs a first inverse orthogonal transformthat corresponds to the first orthogonal transform for the coefficientof the low-frequency component after the first orthogonal transform thatis acquired as a result of the decoding; and a posterior inverseorthogonal transformation unit that acquires the image by performing asecond inverse orthogonal transform that corresponds to the secondorthogonal transform for the low-frequency component that is acquired asa result of the first inverse orthogonal transform and thehigh-frequency component that is acquired as a result of the decoding.

A decoding method according to the second aspect of the presenttechnology corresponds to the decoding device according to the secondaspect of the present technology.

According to the second aspect of the present technology, a coefficientof a low-frequency component of an image after a first orthogonaltransform that is acquired as a result of performing a second orthogonaltransform of which a calculation amount is smaller than a calculationamount of the first orthogonal transform as a result of encoding theimage and a result of encoding a high-frequency component of the imagethat is acquired as a result of performing the second orthogonaltransform are acquired, a result of encoding of the image is decoded, afirst inverse orthogonal transform that corresponds to the firstorthogonal transform is performed for the coefficient of thelow-frequency component after the first orthogonal transform that isacquired as a result of decoding, and a second inverse orthogonaltransform that corresponds to the second orthogonal transform isperformed for the low-frequency component that is acquired as a resultof the first inverse orthogonal transform and the high-frequencycomponent that is acquired as a result of the decoding, whereby theimage can be acquired.

The encoding device according to the first aspect and the decodingdevice according to the second aspect may be independent devices or maybe internal blocks that configure one device.

Effects of the Invention

According to the first aspect of the present technology, the amount ofcalculation in orthogonal transform processing can be reduced.

In addition, according to the second aspect of the present technology,the amount of calculation in inverse orthogonal transform processing canbe reduced.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram that illustrates a configuration example of animage encoding device according to a first embodiment of the presenttechnology.

FIG. 2 is a diagram that illustrates an example of a predicted directionof each intra prediction mode.

FIG. 3 is a block diagram that illustrates an example of a detailedconfiguration of an intra prediction orthogonal transformation unit thatis illustrated in FIG. 1.

FIG. 4 is a diagram that illustrates a DWT performed by a DWT unit.

FIG. 5 is a block diagram that illustrates a detailed configurationexample of the intra prediction inverse orthogonal transformation unitthat is illustrated in FIG. 1.

FIG. 6 is a diagram that illustrates the sequence of lossless encodingthat is performed by the lossless encoding unit illustrated in FIG. 1.

FIG. 7 is a flowchart that illustrates an encoding process of the imageencoding device illustrated in FIG. 1.

FIG. 8 is a flowchart that illustrates orthogonal transform processing.

FIG. 9 is a flowchart that illustrates inverse orthogonal transformprocessing.

FIG. 10 is a flowchart that illustrates an intra-prediction costfunction value calculating process.

FIG. 11 is a flowchart that illustrates a cost function valuecalculating process.

FIG. 12 is a block diagram that illustrates a configuration example ofan image decoding device according to the first embodiment of thepresent technology.

FIG. 13 is a flowchart that illustrates a decoding process performed bythe image decoding device.

FIG. 14 is a flowchart that illustrates a lossless decoding process.

FIG. 15 is a block diagram that illustrates a configuration example ofan image encoding device according to a second embodiment of the presenttechnology.

FIG. 16 is a block diagram that illustrates an example of a detailedconfiguration of an intra prediction orthogonal transformation unit thatis illustrated in FIG. 15.

FIG. 17 is a diagram that illustrates a DWT performed by the DWT unit.

FIG. 18 is a block diagram that illustrates an example of a detailedconfiguration of the intra prediction inverse orthogonal transformationunit that is illustrated in FIG. 15.

FIG. 19 is a flowchart that illustrates orthogonal transform processing.

FIG. 20 is a flowchart that illustrates inverse orthogonal transformprocessing.

FIG. 21 is a block diagram that illustrates a configuration example ofan image decoding device according to the second embodiment of thepresent technology.

FIG. 22 is a diagram that illustrates an example of the size of a macroblock.

FIG. 23 illustrates a configuration example of a computer according toan embodiment.

FIG. 24 is a block diagram that illustrates an example of a mainconfiguration of a television set.

FIG. 25 is a block diagram that illustrates an example of a mainconfiguration of a cellular phone.

FIG. 26 is a block diagram that illustrates an example of a mainconfiguration of a hard disk recorder.

FIG. 27 is a block diagram that illustrates an example of a mainconfiguration of a camera.

MODE FOR CARRYING OUT THE INVENTION First Embodiment [ConfigurationExample of Image Encoding Device]

FIG. 1 is a block diagram that illustrates a configuration example of animage encoding device according to a first embodiment of the presenttechnology.

The image encoding device 51 illustrated in FIG. 1 is configured by anA/D conversion unit 61, a screen rearranging buffer 62, a calculationunit 63, an orthogonal transformation unit 64, a quantization unit 65, alossless encoding unit 66, a storage buffer 67, an inverse quantizationunit 68, an inverse orthogonal transformation unit 69, a calculationunit 70, a deblocking filter 71, a frame memory 72, a switch 73, anintra prediction unit 74, a motion predicting/compensating unit 75, apredicted image selecting unit 76, and a rate control unit 77. The imageencoding device 51 compresses and encodes an input image in an AVC mode.

More specifically, the A/D conversion unit 61 of the image encodingdevice 51 performs A/D conversion of input images that are formed inunits of frames and outputs resultant images to the screen rearrangingbuffer 62 for storage. The screen rearranging buffer 62 arranges storedimages of frames, which are in display order, in order for encoding inaccordance with a group of picture (GOP) structure.

The calculation unit 63, as is needed, subtracts a predicted imagesupplied from the predicted image selecting unit 76 from an image readfrom the screen rearranging buffer 62. The calculation unit 63 outputsan image acquired from a result of the subtraction or the image readfrom the screen rearranging buffer 62 to the orthogonal transformationunit 64 as residual information. In a case where a predicted image isnot supplied from the predicted image selecting unit 76, the calculationunit 63 outputs the image that has been read from the screen rearrangingbuffer 62 to the orthogonal transformation unit 64 without any change asthe residual information.

The orthogonal transformation unit 64 is configured by an interprediction orthogonal transformation unit 64A and an intra predictionorthogonal transformation unit 64B. In a case where information(hereinafter, referred to as inter prediction mode information) thatrepresents an optimal inter prediction mode is supplied from thepredicted image selecting unit 76, the inter prediction orthogonaltransformation unit 64A performs orthogonal transform processing such asa DCT or a KLT for the residual information supplied from thecalculation unit 63 as orthogonal transform processing. Then, theorthogonal transformation unit 64 supplies coefficients that areacquired as the result of the process to the quantization unit 65 astransform coefficients.

In a case where information (hereinafter, referred to asintra-prediction mode information) that represents an optimal intraprediction mode is supplied from the predicted image selecting unit 76,the intra prediction orthogonal transformation unit 64B performsorthogonal transform processing for the residual information suppliedfrom the calculation unit 63.

More specifically, the intra prediction orthogonal transformation unit64B performs a discrete wavelet transform (DWT), which has a calculationamount less than a KLT, for the residual information and extracts alow-frequency component and a high-frequency component. Then, the intraprediction orthogonal transformation unit 64B performs a separable-typeKLT of each intra prediction mode for the low-frequency component. Theintra prediction orthogonal transformation unit 64B suppliescoefficients that are acquired as a result of the separable-type KLT ofthe optimal intra-prediction mode that is represented by the intraprediction mode information and a high frequency component to thequantization unit 65 as transform coefficients.

The quantization unit 65 quantizes the transform coefficients that aresupplied from the orthogonal transformation unit 64. The quantizedtransform coefficients are input to the lossless encoding unit 66.

The lossless encoding unit 66 acquires the intra prediction modeinformation from the intra prediction unit 74 and acquires the interprediction mode information, information of a motion vector, and thelike from the motion predicting/compensating unit 75.

The lossless encoding unit 66 (encoding unit) performs lossless encodingsuch as variable-length coding (for example, context-adaptive variablelength coding (CAVLC)) and an arithmetic coding (for example,context-adaptive binary arithmetic coding (CABAC)) for the quantizedtransform coefficients supplied from the quantization unit 65 and setsresultant information as a compressed image. In addition, the losslessencoding unit 66 performs lossless encoding of the intra prediction modeinformation, the inter prediction mode information, the information of amotion vector, and the like and sets acquired resultant information asheader information to be added to the compressed image.

In addition, in a case where the optimal prediction mode of thetransform coefficients is the optimal intra prediction mode, thelossless encoding unit 66 performs lossless encoding of the transformcoefficients in order according to the optimal intra prediction mode.The lossless encoding unit 66 supplies and stores the compressed image,to which the header information acquired as the result of the losslessencoding is added, to the storage buffer 67 as compressed information.

The storage buffer 67 temporarily stores the compressed information thatis supplied from the lossless encoding unit 66 and, for example, outputsthe compressed information to a recording device, a transmission line,or the like, which is not illustrated in the diagram, disposed on thelatter part.

Further, the quantized transform coefficients output from thequantization unit 65 are also input to the inverse quantization unit 68,inverse-quantization is performed for the quantized transformcoefficients, and then, the transform coefficients are supplied to theinverse orthogonal transformation unit 69.

The inverse orthogonal transformation unit 69 is configured by an interprediction inverse orthogonal transformation unit 69A and an intraprediction inverse orthogonal transformation unit 69B. In a case wherethe inter prediction mode information is supplied from the predictedimage selecting unit 76, the inter prediction inverse orthogonaltransformation unit 69A performs an inverse orthogonal transform such asan inverse DCT or an inverse KLT for the transform coefficients that aresupplied from the inverse quantization unit 68 as inverse orthogonaltransform processing. The inter prediction inverse orthogonaltransformation unit 69A supplies acquired resultant residual informationto the calculation unit 70.

In a case where the intra prediction mode information is supplied fromthe predicted image selecting unit 76, the intra prediction inverseorthogonal transformation unit 69B performs inverse orthogonal transformprocessing for the transform coefficients that are supplied from theinverse quantization unit 68. More specifically, the intra predictioninverse orthogonal transformation unit 69B performs an inverse KLT ofeach intra prediction mode for a coefficient of the low-frequencycomponent out of the transform coefficients. In addition, the intraprediction inverse orthogonal transformation unit 69B performs aninverse DWT for a high-frequency component out of the low-frequencycomponent that is acquired as the result of the inverse KLT of theoptimal intra prediction mode that is represented by the intraprediction mode information and the transform coefficients, therebyacquiring residual information. The intra prediction inverse orthogonaltransformation unit 69B supplies the residual information to thecalculation unit 70.

The calculation unit 70 adds the residual information supplied from theinverse orthogonal transformation unit 69 and the predicted imagesupplied from the predicted image selecting unit 76 together as isneeded, thereby acquiring an image that is locally decoded. Thecalculation unit 70 supplies the acquired image to the deblocking filter71.

The deblocking filter 71 filters the locally-decoded signal that issupplied from the calculation unit 70, thereby eliminating blockdistortion. The deblocking filter 71 supplies an acquired resultantimage to the frame memory 72 for storage. In addition, the image beforethe deblocking filter process performed by the deblocking filter 71 isalso supplied to the frame memory 72 and is stored.

The switch 73 outputs the image stored in the frame memory 72 to themotion predicting/compensating unit 75 or the intra prediction unit 74as a reference image.

The intra prediction unit 74 performs an intra prediction process of allthe intra prediction modes that are candidates based on the image readfrom the screen rearranging buffer 62 and the reference image suppliedthrough the switch 73, thereby generating a predicted image. Here, intraprediction modes having different block sizes are described asmutually-different intra prediction modes even when the intra predictionmodes are for the same predicted direction. In addition, as the blocksize, it is assumed that two types of 4×4 pixels and 8×8 pixels arehandled.

In addition, the intra prediction unit 74 calculates cost functionvalues for all the intra prediction modes that are candidates. Then, theintra prediction unit 74 selects an intra prediction mode of which thecost function value is a minimum as an optimal intra prediction mode.

This cost function value is also called a rate distortion (RD) cost andis calculated, for example, based on any one technique of a highcomplexity mode and a low complexity mode as defined in a joint model(JM) that is reference software of the AVC mode.

More specifically, in a case where the high complexity mode is employedas the technique for calculating a cost function value, provisionallythe process up to the lossless encoding is performed for all the intraprediction modes that are candidates, and the cost function valuerepresented in the following Equation (1) is calculated for each intraprediction mode.

Cost(Mode)=D+λ·R  Equation (1)

Here, D is a difference (distortion) between an original image and adecoded image, R is the amount of generated codes including up to atransform coefficient, and λ is a Larange multiplier that is given as afunction of a quantization parameter QP.

On the other hand, in a case where the low complexity mode is employedas the technique for calculating a cost function value, generation of adecoded image and calculation of a header bit such as intra predictionmode information are performed for all the intra prediction modes thatare candidates, and a cost function value represented by the followingEquation (2) is calculated for each intra prediction mode.

Cost(Mode)=D+QPtoQuant(QP)·HeaderBit  Equation (2)

Here, D is a difference (distortion) between an original image and adecoded image, Header Bit is a header bit for an intra prediction mode,and QPtoQuant is a function that is given as a function of aquantization parameter QP.

In the low complexity mode, only decoded images are generated for allthe intra prediction modes, and it is not necessary to perform losslessencoding, whereby the amount of calculation is small. Here, it isassumed that the high complexity mode is employed as the technique forcalculating a cost function value.

The intra prediction unit 74 supplies the intra prediction modeinformation, the predicted image that is generated in the optimal intraprediction mode, and the corresponding cost function value to thepredicted image selecting unit 76. When being notified of the selectionof the predicted image that is generated in the optimal intra predictionmode from the predicted image selecting unit 76, the intra predictionunit 74 supplies the intra prediction mode information to the losslessencoding unit 66.

The motion predicting/compensating unit 75 predicts motions of all theinter prediction modes that are candidates based on the image suppliedfrom the screen rearranging buffer 62 and the reference image suppliedthrough the switch 73 and generates a motion vector. Then, the motionpredicting/compensating unit 75 performs a compensation process for thereference image based on the motion vector and generates a predictedimage. At this time, the motion predicting/compensating unit 75calculates cost function values for all the inter prediction modes thatare candidates and determines an inter prediction mode of which the costfunction value is a minimum as an optimal inter prediction mode.

Then, the motion predicting/compensating unit 75 supplies interprediction mode information, the predicted image that is generated inthe optimal inter prediction mode, and the corresponding cost functionvalue to the predicted image selecting unit 76. When being notified ofthe selection of the predicted image of the optimal inter predictionmode from the predicted image selecting unit 76, the motionpredicting/compensating unit 75 outputs the inter prediction modeinformation, information of the corresponding motion vector, and thelike to the lossless encoding unit 66.

The predicted image selecting unit 76 determines one of the optimalintra prediction mode and the optimal inter prediction mode as anoptimal prediction mode based on the cost function values supplied fromthe intra prediction unit 74 and the motion predicting/compensating unit75. Then, the predicted image selecting unit 76 supplies the predictedimage of the optimal prediction mode to the calculation unit 63 and thecalculation unit 70. In addition, the predicted image selecting unit 76notifies the intra prediction unit 74 or the motionpredicting/compensating unit 75 of the selection of the predicted imageof the optimal prediction mode. Furthermore, the predicted imageselecting unit 76 supplies the inter prediction mode information or theintra prediction mode information that represents the optimal predictionmode to the orthogonal transformation unit 64 and the inverse orthogonaltransformation unit 69.

The rate control unit 77 performs control of the rate of thequantization operation of the quantization unit 65 based on thecompressed information stored in the storage buffer 67 such thatoverflow or underflow does not occur.

[Description of Intra Prediction Mode]

FIG. 2 is a diagram that illustrates an example of a predicted directionof each intra prediction mode.

As illustrated in FIG. 2, in the intra prediction mode of the AVC mode,there are a mode in which eight directions are predicted and a mode inwhich a DC is predicted. Numbers represented in FIG. 2 are intraprediction mode numbers, and arrows to which the numbers are assignedrepresent predicted directions of the numbers.

More specifically, as illustrated in FIG. 2, a predicted direction ofthe intra prediction mode of number 0 is the vertical direction, and apredicted direction of the intra prediction mode of number 1 is thehorizontal direction. An intra prediction mode of number 2 that is notillustrated in the diagram is a mode in which a DC is predicted. Asillustrated in FIG. 2, predicted directions of the intra predictionmodes of numbers 3 to 8 are oblique directions.

[Example of Detailed Configuration of Intra Prediction OrthogonalTransformation Unit]

FIG. 3 is a block diagram that illustrates an example of a detailedconfiguration of the intra prediction orthogonal transformation unit 64Bthat is illustrated in FIG. 1.

The intra prediction orthogonal transformation unit 64B illustrated inFIG. 3 is configured by a DWT unit 91, KLT units 92-0 to 92-8, and aselector 93.

The DWT unit 91 (prior orthogonal transformation unit) performs a DWTfor the residual information that is supplied from the calculation unit63 illustrated in FIG. 1, as is needed, and thereby acquiring alow-frequency component and a high-frequency component. The DWT unit 91supplies the low-frequency component to the KLT units 92-0 to 92-8 andsupplies the high-frequency component to the selector 93. In a casewhere the KLT does not need to be performed, the DWT unit 91 suppliesthe residual information to the KLT units 92-0 to 92-8 without change.

The KLT units 92-0 to 92-8 (posterior orthogonal transformation units)perform separable-type KLTs for the low-frequency component or theresidual information that is supplied from the DWT unit 91 using basesof the KLTs of the intra prediction modes of numbers 0 to 8. Here, thebase of the KLT of each intra prediction mode is an optimal value thatis acquired through learning in advance. The KLT units 92-0 to 92-8supply coefficients that are acquired as results of the separable-typeKLTs to the selector 93.

The intra prediction mode information supplied from the predicted imageselecting unit 76 is supplied to the selector 93. The selector 93selects a coefficient, which is supplied from one of the KLT units 92-0to 92-8 that corresponds to the optimal intra prediction mode, out ofcoefficients supplied from the KLT units 92-0 to 92-8 based on the intraprediction mode information. Then, the selector 93 supplies the selectedcoefficient of the residual information to the quantization unit 65(FIG. 1) as a transform coefficient or supplies a coefficient of thelow-frequency component and the high-frequency component that issupplied from the DWT unit 91 to the quantization unit 65 astransformation coefficients.

Although the selector 93 is disposed after the KLT units 92-0 to 92-8 inthe intra prediction orthogonal transformation unit 64B illustrated inFIG. 3, the selector may be disposed before the KLT units 92-0 to 92-8.In such a case, the low-frequency component or the residual informationthat is output from the DWT unit 91 is supplied to only one of the KLTunits 92-0 to 92-8 that corresponds to the optimal intra predictionmode.

[Description of DWT]

FIG. 4 is a diagram that illustrates the DWT performed by the DWT unit91.

When the DWT is performed for the residual information illustrated in Aof FIG. 4 in the horizontal direction and the vertical direction, asillustrated in B of FIG. 4, the horizontal component and the verticalcomponent are respectively divided into a high-frequency component and alow-frequency component. In FIG. 4, L represents the low-frequencycomponent, and H represents the high-frequency component. In addition,the horizontal component and the vertical component are continuouslyrepresented. These are similarly applied also to FIG. 17 to be describedbelow.

As illustrated in B of FIG. 4, when a DWT is performed for the residualinformation in the horizontal direction and the vertical direction, theresidual information is divided into a component (LL component) in whichthe horizontal component and the vertical component are low-frequencycomponents, a component (HL component) in which the horizontal componentis a high-frequency component and the vertical component is alow-frequency component, a component (LH component) in which thehorizontal component is a high-frequency component and the verticalcomponent is a low-frequency component, and a component (HH component)in which the horizontal component and the vertical component are highfrequency components.

In addition, when a DWT is performed again for the LL component in thehorizontal direction and the vertical direction, as illustrated in C ofFIG. 4, the horizontal component and the vertical component of the LLcomponent are respectively divided further into a high-frequencycomponent and a low-frequency component. As a result, the LL componentis divided into a component (LLLL component) in which the horizontalcomponent and the vertical component are low-frequency components, acomponent (LLHL component) in which the horizontal component is ahigh-frequency component and the vertical component is a low frequencycomponent, a component (LLLH) in which the horizontal component is alow-frequency component and the vertical component is a high-frequencycomponent, and a component (LLHH component) in which the horizontalcomponent and the vertical component are high-frequency components. TheHL component, the LH component, and the HH component that are componentsof the residual information other than the LL component are unchanged.

For example, in a case where the number of DWTs performed by the DWTunit 91 is two, the LLLL component that is formed by the horizontalcomponent and the vertical component that have the lowest frequency isoutput to the KLT units 92-0 to 92-8 (FIG. 3) as a low frequencycomponent. Accordingly, the size of data that is a target for theseparable-type KLT can be 1/16 of the size of data of the residualinformation. For example, in a case where the block size of the intraprediction corresponds to 4×4 pixels, in other words, in a case wherethe residual information corresponds to 4×4 pixels, the size of datathat is a target for the separable-type KLT corresponds to 1×1 pixel. Inaddition, in a case where the block size of the intra predictioncorresponds to 8×8 pixels, the size of data that is a target for theseparable-type KLT corresponds to 2×2 pixels.

As a result, the calculation amount of the orthogonal transformprocessing for the residual information using a predicted imageaccording to an intra prediction can be reduced. More specifically, whenthe block size corresponds to N×N pixels, the order of the calculationamount of the DWT unit 91 is about from N to N log|N|, and the order ofthe calculation amounts of the KLT units 92-0 to 92-8 is (N/4)².Accordingly, the order of the calculation amount of the orthogonaltransform processing is about (N/4)²+N log|N|, which is sufficientlysmaller than N² that is the order of the calculation amount of theseparable-type KLT in a case where the block size corresponds to N×Npixels.

The components other than the LLLL component are output to thequantization unit 65 (FIG. 1) as high frequency components withoutchange.

Here, the number of DWTs that are performed is not limited to two. TheDWT is repeatedly performed until the size of a component that is formedby the horizontal component and the vertical component that have thelowest frequency is a size that can be processed by the KLT units 92-0to 92-8 or less. As the size that can be processed by the KLT units 92-0to 92-8 becomes smaller, although the calculation amount of theorthogonal transform processing is smaller, which is advantageous interms of the manufacturing cost or real-time reproduction, the number ofDWTs that are performed increases, and the coding efficiency decreases.Accordingly, the size that can be processed by the KLT units 92-0 to92-8 is determined in consideration of the coding efficiency and anallowed range of the calculation amount of the orthogonal transformprocessing.

[Detailed Configuration Example of Intra Prediction OrthogonalTransformation Unit]

FIG. 5 is a block diagram that illustrates a detailed configurationexample of the intra prediction inverse orthogonal transformation unit69B that is illustrated in FIG. 1.

The intra prediction inverse orthogonal transformation unit 69Billustrated in FIG. 5 is configured by inverse KLT units 101-0 to 101-8,a selector 102, and an inverse DWT unit 103.

The inverse KLT units 101-0 to 101-8 perform separable-type inverse KLTsfor coefficients out of transform coefficients supplied from the inversequantization unit 68 illustrated in FIG. 1 using bases of the inverseKLTs of the intra prediction modes of numbers 0 to 8.

The intra prediction mode information that is supplied from thepredicted image selecting unit 76 is supplied to the selector 102. Theselector 102 selects a post-inverse KLT component, which is suppliedfrom one of the inverse KLT units 101-0 to 101-8, corresponding to theoptimal intra prediction mode out of post-inverse KLT componentssupplied from the inverse KLT units 101-0 to 101-8 based on the intraprediction mode information. Then, the selector 102 supplies theselected post-inverse KLT component to the inverse DWT unit 103.

The inverse DWT unit 103 supplies the component that is supplied fromthe selector 102 to the calculation unit 70 (FIG. 1) as the residualinformation. Alternatively, the inverse DWT unit 103 performs an inverseDWT that corresponds to the DWT according to the DWT unit 91 for thecomponent supplied from the selector 102 and a high-frequency componentout of the transform coefficients supplied from the inverse quantizationunit 68 and supplies an acquired resultant component to the calculationunit 70 as the residual information.

In the intra prediction inverse orthogonal transformation unit 69Billustrated in FIG. 5, although the selector 102 is disposed after theinverse KLT units 101-0 to 101-8, the selector may be disposed beforethe inverse KLT units 101-0 to 101-8. In such a case, coefficients ofthe transform coefficients supplied from the inverse quantization unit68 are supplied only to one of the inverse KLT units 101-0 to 101-8 thatcorresponds to the optimal intra prediction mode.

[Description of Procedure of Lossless Encoding]

FIG. 6 is a diagram that illustrates the sequence of lossless encodingthat is performed by the lossless encoding unit 66 illustrated in FIG.1.

In the lossless encoding, since the number of consecutive 0's is coded,and it is preferable that the sequence of lossless encoding is thesequence in which 0's are consecutive.

Thus, the lossless encoding unit 66 changes the encoding sequence inaccordance with the intra prediction mode such that 0's of the transformcoefficient after quantization is consecutive.

More specifically, when a DWT is performed for the residual informationillustrated in A of FIG. 6, the residual information, as illustrated inB of FIG. 6, is divided into bands of four components including an LLcomponent, an HL component, an LH component, and an HH component. Atthis time, as illustrated in B of FIG. 6, the LL component hascharacteristics of the residual information. In addition, the HLcomponent represents lines extending in the vertical direction, the LHcomponent represents lines extending in the horizontal direction, andthe HH component represents lines extending in an oblique direction. Inother words, the HL component has a strong correlation in the verticaldirection, the LH component has a strong correlation in the horizontaldirection, and the HH component has a strong correlation in the obliquedirection.

In the intra prediction mode of number 0 in which the predicteddirection is the vertical direction, the correlation of the residualinformation in the vertical direction is strong. In other words, thereare many high-frequency components of the residual information in thehorizontal direction. Accordingly, in the intra prediction mode ofnumber 0, there are many cases where there are many HL components.

In the intra prediction mode of number 1 in which the predicteddirection is the horizontal direction, the correlation of the residualinformation in the horizontal direction is strong. In other words, thereare many high-frequency components of the residual information in thevertical direction. Accordingly, in the intra prediction mode of number1, there are many cases where there are many LH components.

In the intra prediction modes of numbers 3 to 8 in which the predicteddirections are oblique directions, the correlations of the residualinformation in the oblique directions are strong. In other words, thereare many high-frequency components of the residual information in theoblique directions. Accordingly, in the intra prediction modes ofnumbers 3 to 8, there are many cases where there are many HH components.

Here, in order to allow 0's of the transform coefficients afterquantization to be consecutive as a target for lossless encoding, it isnecessary to set the transform coefficients of components afterquantization as targets for lossless encoding in order from a transformcoefficient of a component, of which the value after the DWT isestimated to be larger, to a transform coefficient of which the valueafter the DWT is estimated to be smaller.

Accordingly, in a case where the optimal prediction mode is the intraprediction mode having number 0, for example, the lossless encoding unit66 sets the targets for lossless encoding in order of the LL component,the HL component, the HH component, and the LH component. In addition,in a case where the optimal prediction mode is the intra prediction modeof number 1, for example, the targets for lossless encoding are set inorder of the LL component, the LH component, the HH component, and theHL component. Furthermore, in a case where the optimal prediction modeis any one of the intra prediction modes of numbers 3 to 8, for example,the targets for lossless encoding are set in order of the LL component,the HH component, the HL component, and the LH component. In addition,in a case where the optimal prediction mode is the intra prediction modeof number 2, components are set as targets for lossless encoding in apredetermined order set in advance.

Also within the LH component, the HL component, and the HH component,blocks are set as targets for lossless encoding in order from a block ofwhich a value after the DWT is estimated to be larger to a block ofwhich a value after the DWT is estimated to be smaller. Morespecifically, since the LH component has a strong correlation in thehorizontal direction, blocks are set as targets for lossless encoding inorder of the alignment in the horizontal direction within the LHcomponent. In addition, since the HL component has a strong correlationin the vertical direction, blocks are set as targets for losslessencoding in order of the alignment in the vertical direction within theHL component. Further, since the HH component has a strong correlationin the oblique direction, blocks are set as targets for losslessencoding in order of the alignment in the oblique direction within theHH component.

Within the LL component, blocks are set as targets for lossless encodingin a predetermined order that is determined in advance. The order withinthe LL component may be different for each intra prediction mode.

[Description of Encoding Process of Image Encoding Device]

FIG. 7 is a flowchart that illustrates an encoding process of the imageencoding device 51 illustrated in FIG. 1.

In Step S11, the A/D conversion unit 61 performs A/D conversion of aninput image that is in units of frames and supplies a resultant image tothe screen rearranging buffer 62. In Step S12, the screen rearrangingbuffer 62 stores the image that is supplied from the A/D conversion unit61, rearranges the images of frames stored in order of display in theorder for encoding, and supplies a resultant image to the calculationunit 63.

In Step S13, the calculation unit 63 subtracts the predicted imagesupplied from the predicted image selecting unit 76 from the image readfrom the screen rearranging buffer 62 as is necessary, thereby acquiringresidual information. Then, the calculation unit 63 outputs the residualinformation to the orthogonal transformation unit 64.

In Step S14, the orthogonal transformation unit 64 performs orthogonaltransform processing for the residual information supplied from thecalculation unit 63. More specifically, in a case where the interprediction mode information is supplied from the predicted imageselecting unit 76, the inter prediction orthogonal transformation unit64A of the orthogonal transformation unit 64 performs orthogonaltransform processing for the residual information supplied from thecalculation unit 63 and supplies acquired resultant coefficients to thequantization unit 65 as transform coefficients.

In a case where the intra-prediction mode information is supplied fromthe predicted image selecting unit 76, the intra prediction orthogonaltransformation unit 64B performs orthogonal transform processing for theresidual information that is supplied from the calculation unit 63. Theorthogonal transform processing will be described in detail withreference to FIG. 8 to be described below.

In Step S15, the quantization unit 65 quantizes the transformcoefficients that are acquired as a result of the orthogonal transformprocessing. When the quantization is performed, the rate is controlledas will be described regarding the process of Step S30 to be describedbelow.

The transform coefficients that are quantized as described above arelocally decoded as below. In Step S16, the inverse quantization unit 68performs inverse-quantization of the transform coefficients that arequantized by the quantization unit 65 in accordance with characteristicscorresponding to the characteristics of the quantization unit 65. InStep S17, the inverse orthogonal transformation unit 69 performs inverseorthogonal transform processing that corresponds to the orthogonaltransform processing performed by the orthogonal transformation unit 64for the transform coefficients for which the inverse-quantization hasbeen performed by using the inverse quantization unit 68.

More specifically, in a case where the inter prediction mode informationis supplied from the predicted image selecting unit 76, the interprediction inverse orthogonal transformation unit 69A of the inverseorthogonal transformation unit 69 performs inverse orthogonal transformprocessing for the transform coefficients that are supplied from theinverse quantization unit 68. The inter prediction inverse orthogonaltransformation unit 69A supplies acquired resultant residual informationto the calculation unit 70.

In addition, in a case where the intra prediction mode information issupplied from the predicted image selecting unit 76, the intraprediction inverse orthogonal transformation unit 69B performs inverseorthogonal transform processing for the transform coefficients that aresupplied from the inverse quantization unit 68. The inverse orthogonaltransform processing will be described in detail with reference to FIG.9 to be described below.

In Step S18, the calculation unit 70 adds the residual information thatis supplied from the inverse orthogonal transformation unit 69 to thepredicted image that is supplied from the predicted image selecting unit76, thereby generating an image that is locally decoded. Then, thecalculation unit 70 supplies the locally-decoded image to thecalculation unit 70 and the frame memory 72.

In Step S19, the deblocking filter 71 eliminates block distortion byfiltering the image, which is locally decoded, supplied from thecalculation unit 70. Then, the deblocking filter 71 supplies an acquiredresultant image to the frame memory 72.

In Step S20, the frame memory 72 stores the image that is supplied fromthe deblocking filter 71 and the image, which is not filtered by thedeblocking filter 71, supplied from the calculation unit 70.

In Step S21, the intra prediction unit 74 performs an intra predictionprocess. More particularly, the intra prediction unit 74 performs anintra prediction process of all the intra prediction modes that arecandidates based on the image read from the screen rearranging buffer 62and the reference image supplied from the frame memory 72 through theswitch 73, thereby generating a predicted image.

In Step S22, the intra prediction unit 74 performs an intra predictioncost function value calculating process for calculating cost functionvalues of all the intra prediction modes that are candidates. The intraprediction cost function value calculating process will be described indetail with reference to FIG. 10 to be described below.

In Step S23, the motion predicting/compensating unit 75 performs amotion predicting/compensating process. More specifically, the motionpredicting/compensating unit 75 predicts the motions of all the interprediction modes that are candidates based on the image supplied fromthe screen rearranging buffer 62 and the reference image suppliedthrough the switch 73, thereby generating a motion vector. Then, themotion predicting/compensating unit 75 performs a compensation processfor the reference image based on the motion vector, thereby generating apredicted image.

In Step S24, the motion predicting/compensating unit 75 calculates thecost function values of all the inter prediction modes that arecandidates and determines an inter prediction mode of which the costfunction value is a minimum as an optimal inter prediction mode. Then,the motion predicting/compensating unit 75 supplies the inter predictionmode information, the predicted image generated in the optimal interprediction mode, and the corresponding cost function value to thepredicted image selecting unit 76.

In Step S25, the predicted image selecting unit 76 determines whetherthe cost function value of the optimal intra prediction mode that issupplied from the intra prediction unit 74 is larger than the costfunction value of the optimal inter prediction mode that is suppliedfrom the motion predicting/compensating unit 75.

In a case where the cost function value of the optimal intra predictionmode is determined to be larger than the cost function value of theoptimal inter prediction mode in Step S25, the process proceeds to StepS26. In Step S26, the predicted image selecting unit 76 determines theoptimal intra prediction mode as an optimal prediction mode and selectsa predicted image of the optimal intra prediction mode. Then, thepredicted image selecting unit 76 supplies the predicted image of theoptimal intra prediction mode to the calculation unit 63 and thecalculation unit 70. This predicted image is used in the processes ofSteps S13 and S18 described above. In addition, the predicted imageselecting unit 76 supplies the intra prediction mode information to theorthogonal transformation unit 64 and the inverse orthogonaltransformation unit 69 and notifies the intra prediction unit 74 of theselection of the predicted image of the optimal intra prediction mode.The intra prediction unit 74 supplies the intra prediction modeinformation to the lossless encoding unit 66 in accordance with thenotification. Then, the process proceeds to Step S28.

On the other hand, in a case where the cost function value of theoptimal intra prediction mode is determined not to be larger than thecost function value of the optimal inter prediction mode in Step S25,the process proceeds to Step S27. In Step S27, the predicted imageselecting unit 76 determines the optimal inter prediction mode as anoptimal prediction mode and selects a predicted image of the optimalinter prediction mode. Then, the predicted image selecting unit 76supplies the predicted image of the optimal inter prediction mode to thecalculation unit 63 and the calculation unit 70. This predicted image isused in the processes of Steps S13 and S18 described above. In addition,the predicted image selecting unit 76 supplies the inter prediction modeinformation to the orthogonal transformation unit 64 and the inverseorthogonal transformation unit 69 and notifies the motionpredicting/compensating unit 75 of the selection of the predicted imageof the inter prediction mode. The motion predicting/compensating unit 75supplies the inter prediction mode information, information of thecorresponding motion vector, and the like to the lossless encoding unit66 in accordance with the notification. Then, the process proceeds toStep S28.

In Step S28, the lossless encoding unit 66 performs lossless encoding ofthe quantized transform coefficients that are supplied from thequantization unit 65, thereby acquiring a compressed image. In a casewhere the optimal prediction mode of the transform coefficient that is atarget for lossless encoding is the optimal intra prediction mode,lossless encoding is performed in the sequence according to the optimalintra prediction mode as described with reference to FIG. 6. Inaddition, the lossless encoding unit 66 performs lossless encoding ofthe intra prediction mode information, the inter prediction modeinformation, the motion vector, and the like and sets acquired resultantinformation as header information added to the compressed image. Thelossless encoding unit 66 supplies the compressed image to which theheader information acquired as a result of the lossless encoding isadded to the storage buffer 67 as compressed information.

In Step S29, the storage buffer 67 stores the compressed informationthat is supplied from the lossless encoding unit 66. The compressedinformation that is stored in the storage buffer 67 is appropriatelyread and is transmitted to the decoding side through transmission lines.

In Step S30, the rate control unit 77 performs control of the rate ofthe quantization operation of the quantization unit 65 based on thecompressed information stored in the storage buffer 67 such thatoverflow or underflow does not occur.

FIG. 8 is a flowchart that illustrates orthogonal transform processingthat is performed by the intra prediction orthogonal transformation unit64B in Step S14 illustrated in FIG. 7.

In Step S41, the DWT unit 91 (FIG. 3) of the intra prediction orthogonaltransformation unit 64B determines whether or not the size of theresidual information supplied from the calculation unit 63 (FIG. 1) is asize that can be processed by the KLT units 92-0 to 92-8.

In a case where the size of the residual information is determined notto be a size that can be processed by the KLT units 92-0 to 92-8 in StepS41, the DWT unit 91 performs a DWT for the residual information in StepS42.

In Step S43, the DWT unit 91 determines whether or not the size of alow-frequency component acquired as a result of the process of Step S42is a size that can be processed by the KLT units 92-0 to 92-8. In a casewhere the size of the low-frequency component acquired as the result ofthe DWT is determined not to be a size that can be processed by the KLTunits 92-0 to 92-8 in Step S43, the DWT unit 91 performs a DWT in StepS44 for the low-frequency component acquired as the result of theprocesses of Step S42. Then, the process is returned to Step S43, andthe process of Steps S43 and S44 is repeated until the size of thelow-frequency component becomes a size that can be processed by the KLTunits 92-0 to 92-8.

In a case where the size of the low-frequency component acquired as theresult of the DWT is determined to be a size that can be processed bythe KLT units 92-0 to 92-8 in Step S43, the DWT unit 91 supplies thelow-frequency component acquired as the result of the DWT to the KLTunits 92-0 to 92-8 and supplies a high-frequency component to theselector 93.

Then, in Step S45, the KLT units 92-0 to 92-8 perform separable-typeKLTs for the low-frequency component by using bases of the KLTs of thecorresponding intra prediction modes.

In Step S46, the selector 93 selects a coefficient supplied from one ofthe KLT units 92-0 to 92-8 that corresponds to the optimal intraprediction mode out of the coefficients supplied from the KLT units 92-0to 92-8 based on the intra prediction mode information and outputs theselected coefficient to the quantization unit 65 (FIG. 1).

In Step S47, the selector 93 outputs the high-frequency componentsupplied from the DWT unit 91 to the quantization unit 65.

On the other hand, in a case where the size of the residual informationis determined to be a size that can be processed by the KLT units 92-0to 92-8 in Step S41, the DWT unit 91 supplies the residual informationto the KLT units 92-0 to 92-8 without change. Then, in Step S48, the KLTunits 92-0 to 92-8 perform separable-type KLTs for the residualinformation by using the bases of the KLTs of the corresponding intraprediction modes.

In Step S49, the selector 93 selects a coefficient that is supplied fromone of the KLT units 92-0 to 92-8 that corresponds to the optimal intraprediction mode out of the coefficients supplied from the KLT units 92-0to 92-8 based on the intra prediction mode information and outputs theselected coefficient to the quantization unit 65.

FIG. 9 is a flowchart that illustrates inverse orthogonal transformprocessing performed by the intra prediction inverse orthogonaltransformation unit 69B of Step S17 illustrated in FIG. 7.

In Step S61, the inverse KLT units 101-0 to 101-8 (FIG. 5) of the intraprediction inverse orthogonal transformation unit 69B performseparable-type KLTs for the coefficients included in the transformcoefficients supplied from the inverse quantization unit 68 (FIG. 1) byusing the bases of the KLTs of the corresponding intra prediction modes.

In Step S62, the selector 102 selects a post-inverse KLT componentsupplied from one of the inverse KLT units 101-0 to 101-8 thatcorresponds to the optimal intra prediction mode out of the post-inverseKLT components supplied from the inverse KLT units 101-0 to 101-8 basedon the intra prediction mode information supplied from the predictedimage selecting unit 76. Then, the selector 102 supplies the selectedpost-inverse KLT component to the inverse DWT unit 103.

In Step S63, the inverse DWT unit 103 determines whether or not the sizeof the post-inverse KLT component supplied from the selector 102 is theblock size. In a case where the size of the post-inverse KLT componentis determined not to be the block size in Step S63, the process proceedsto Step S64. In Step S64, the inverse DWT unit 103 performs an inverseDWT for high-frequency components of the post-inverse KLT component andthe transform coefficients supplied from the inverse quantization unit68.

In Step S65, the inverse DWT unit 103 determines whether or not the sizeof the post-inverse DWT component that is acquired by as a result of theprocess of Step S64 is the block size. In a case where the size of thepost-inverse DWT component is determined not to be the block size inStep S65, the process is returned to Step S64, and the processes ofSteps S64 and S65 are repeated until the size of the post-inverse DWTcomponent becomes the block size.

In a case where the size of the post-inverse DWT component is determinedto be the block size in Step S65, the process proceeds to Step S66.

On the other hand, in a case where the size of the post-inverse KLTcomponent is determined to be the block size in Step S63, the processproceeds to Step S66.

In Step S66, the inverse DWT unit 103 supplies the post-inverse DWTcomponent or the post inverse KLT component to the calculation unit 70(FIG. 1) as the residual information.

FIG. 10 is a flowchart that illustrates an intra-prediction costfunction value calculating process of Step S22 illustrated in FIG. 7.

In Step S81, the intra prediction unit 74 sets a block sizes that hasnot been yet set as a block size (hereinafter, referred to as a currentblock size) of a block that is a processing target and is a candidate asa current block size. Here, the block sizes that are candidates are 4×4pixels and 8×8 pixels.

In Step S82, the intra prediction unit 74 sets a block IDX that is notset as a block IDX (hereinafter, referred to as a current block IDX) ofa processing target block out of blocks IDX of a current block size as acurrent block IDX. Here, the block IDX is information that specifieseach block when a macro block is divided into blocks in accordance witha block size. For example, in a case where the macro block has a size of128×128, and the block size is 8×8, there are 16 blocks IDX of 0 to 15.

In Step S83, the intra prediction unit 74 sets the number mode of theintra prediction mode to “0”.

In Step S84, the intra prediction unit 74 performs a cost function valuecalculating process for calculating a cost function value of the intraprediction mode of the number mode. This cost function calculatingprocess will be described in detail with reference to FIG. 11 to bedescribed below.

In Step S85, the intra prediction unit 74 determines whether or not thenumber mode is less than the number “9” of the intra prediction modesthat are candidates. In a case where the number mode is determined to beless than “9” in Step S85, in other words, in a case where the costfunction values of all the intra prediction modes of the block of thecurrent block IDX have not been calculated yet, the process proceeds toStep S86.

In Step S86, the intra prediction unit 74 increments the number mode byone, returns the process to Step S84, and repeats the processes of StepsS84 to S86 until the number mode becomes “9” or more.

In a case where the number mode is determined not to be less than “9” inStep S85, in other words, in a case where the cost function values ofall the intra prediction modes of the block of the current block IDX arecalculated, the process proceeds to Step S87. In Step S87, the intraprediction unit 74 determines an intra prediction mode that correspondsto a minimal value out of the cost function values of all the intraprediction modes of the block of the current block IDX as an optimalintra prediction mode of the block of the current block IDX.

In Step S88, the intra prediction unit 74 determines whether or not allthe blocks IDX of the current block size have been set as current blocksIDX. In a case where all the blocks IDX of the current block size aredetermined not to have been set as the current blocks IDX in Step S88,the process is returned to Step S82. Then, until all the blocks IDX ofthe current block size are set as the current blocks IDX, the process ofSteps S82 to S88 is repeated.

On the other hand, in a case where all the blocks IDX of the currentblock size are determined to have been set as the current blocks IDX inStep S88, the intra prediction unit 74 determines whether or not all theblock sizes are set as the current block sizes in Step S89.

In a case where all the block sizes are determined not to have been yetset as the current block sizes in Step S89, the process is returned toStep S81, and the process of Steps S81 to S89 is repeated until all theblock sizes are set as the current block sizes.

On the other hand, in a case where all the block sizes are determined tohave been set as the current block sizes in Step S89, in other words, ina case where the optimal intra prediction modes of all the blocks of allthe blocks of all the block sizes are determined, the process proceedsto Step S90.

In Step S90, the intra prediction unit 74 determines an intra predictionmode of which the cost function value is a minimum in units of macroblocks as a final optimal intra prediction mode based on the costfunction values of the optimal intra prediction modes of all the blocksof all the block sizes. Then, the intra prediction unit 74 suppliesintra prediction mode information that represents the optimal intraprediction mode, a predicted image that is generated in the optimalprediction mode, and a corresponding cost function value to thepredicted image selecting unit 76. Then, the process is returned to StepS22 illustrated in FIG. 7 and proceeds to Step S23.

FIG. 11 is a flowchart that illustrates the cost function valuecalculating process of Step S84 illustrated in FIG. 10.

In Step S111, the intra prediction unit 74 subtracts a predicted imageof an intra prediction mode of a number mode that corresponds to thecurrent block IDX from an image corresponding to the current block IDXthat is supplied from the screen rearranging buffer 62, therebyacquiring residual information.

In Step S112, the intra prediction unit 74 performs the orthogonaltransform processing illustrated in FIG. 8 for the residual information.

In Step S113, the intra prediction unit 74 quantizes transformcoefficients that are acquired as a result of the orthogonal transformprocessing.

In Step S114, the intra prediction unit 74 performs lossless encoding ofcoefficients of the quantized transform coefficients in a predeterminedorder.

In Step S115, the intra prediction unit 74 performs lossless encoding ofhigh-frequency components (for example, an LH component, an HLcomponent, and an HH component) of the quantized transform coefficientsin the order according to the intra prediction modes of the numbermodes. In addition, in a case where a DWT is not performed in theorthogonal transform processing of Step S112, the process of Step S115is not provided.

In Step S116, the intra prediction unit 74 performs inverse quantizationof the quantized transform coefficients that are acquired in the processof Step S113.

In Step S117, the intra prediction unit 74 performs inverse orthogonaltransforming illustrated in FIG. 9 for the transform coefficients forwhich inverse quantization has been performed in Step S116.

In Step S118, the intra prediction unit 74 adds residual informationthat is acquired as a result of the process of Step S117 and thepredicted image of the intra prediction mode of the number mode thatcorresponds to the current block IDX together.

In Step S119, the intra prediction unit 74 calculates a cost functionvalue using Equation (1) described above by using the decoded image thatis acquired as a result of the process of Step S118, the image suppliedfrom the screen rearranging buffer 62, and the amount of generated codesin the process of Step S115. This cost function value is a cost functionvalue of the intra prediction mode of the number mode of the block ofthe current block IDX.

As above, in the image encoding device 51, the intra predictionorthogonal transformation unit 64B performs a DWT of which the amount ofcalculation is less than that of a discrete type KLT before a discretetype KLT and performs the discrete-type KLT only for low-frequencycomponents that are acquired as a result of the DWT. As a result, theamount of calculation in the orthogonal transform processing at the timeof performing intra prediction is reduced, and the amount of calculationcan be reduced even in a case where the block size is large. Inaddition, at the time of performing the inverse orthogonal transformprocessing, a discrete-type inverse KLT is performed only forlow-frequency components, and an inverse DWT of which the amount ofcalculation is less than that of an inverse KLT is performed, wherebythe amount of calculation of the inverse orthogonal transform processingcan be similarly reduced.

In the current AVC mode, although a maximum block size of the intraprediction is 16×16, there is a high possibility that a block sizeexceeding 16×16 is employed in a next-generation standard. Accordingly,it is very useful to reduce the amount of calculation in the orthogonaltransform processing at the time of performing an intra prediction.Since the amount of calculation in the orthogonal transform processingis reduced, in a case where the intra prediction orthogonaltransformation unit 64B is realized by hardware, the circuit scale ofthe LSI is reduced, whereby the manufacturing cost can be reduced. Inaddition, in a case where the intra prediction orthogonal transformationunit 64B is realized by software, the amount of processing is reduced,whereby reproduction of an image in real time can be performed morereliably.

[Configuration Example of Image Decoding Device]

FIG. 12 is a block diagram that illustrates a configuration example ofan image decoding device according to the first embodiment of thepresent technology.

The image decoding device 151 is configured by a storage buffer 161, alossless decoding unit 162, an inverse quantization unit 163, an inverseorthogonal transformation unit 164, a calculation unit 165, a deblockingfilter 166, a screen rearranging buffer 167, a D/A conversion unit 168,a frame memory 169, a switch 170, an intra prediction unit 171, a motioncompensating unit 172, and a switch 173.

The storage buffer 161 stores compressed information that is transmittedfrom the image encoding device 51. The lossless decoding unit 162(decoding unit) reads and acquires the compressed information from thestorage buffer 161 and performs lossless decoding of the compressedinformation using a mode that corresponds to the lossless encoding modeof the lossless encoding unit 66 that is illustrated in FIG. 1.

More specifically, the lossless decoding unit 162 performs losslessdecoding of the header information included in the compressedinformation, thereby acquiring intra prediction mode information, interprediction mode information, motion vector information, and the like. Inaddition, the lossless decoding unit 162 performs lossless decoding of acompressed image included in the compressed information. In a case wherethe intra prediction mode information is acquired, the lossless decodingunit 162 performs lossless decoding of the compressed image in the orderaccording to an optimal intra prediction mode that is represented by theintra prediction mode information.

In addition, the lossless decoding unit 162 supplies quantized transformcoefficients that are acquired as a result of performing losslessdecoding of the compressed image to the inverse quantization unit 163.The lossless decoding unit 162 supplies the intra prediction modeinformation that is acquired as a result of performing the losslessdecoding to the inverse orthogonal transformation unit 164 and the intraprediction unit 171 and supplies the inter prediction mode information,the motion vector information, and the like to the motion compensatingunit 172. Furthermore, the lossless decoding unit 162 supplies the interprediction mode information to the inverse orthogonal transformationunit 164.

The inverse quantization unit 163 is configured similarly to the inversequantization unit 68 illustrated in FIG. 1 and performs inversequantization for quantized transform coefficients that are supplied fromthe lossless decoding unit 16 using a mode that corresponds to thequantization mode of the inverse quantization unit 65 illustrated inFIG. 1. The inverse quantization unit 163 supplies transformcoefficients that are acquired as a result of the inverse quantizationto the inverse orthogonal transformation unit 164.

The inverse orthogonal transformation unit 164 is configured similarlyto the inverse orthogonal transformation unit 69 illustrated in FIG. 1.The inverse orthogonal transformation unit 164 performs inverseorthogonal transform processing for the transform coefficients that aresupplied from the inverse quantization unit 163 in accordance with theinter prediction mode information or the intra prediction modeinformation that is supplied from the lossless decoding unit 162. Theinverse orthogonal transformation unit 164 supplies residual informationthat is acquired as a result of the orthogonal transform processing tothe calculation unit 165.

The calculation unit 165 adds the residual information supplied from theinverse orthogonal transformation unit 164 to the predicted imagesupplied from the switch 173 as is needed and decodes the image. Thecalculation unit 165 supplies the decoded image to the deblocking filter166.

The deblocking filter 166 filters the decoded signal that is suppliedfrom the calculation unit 165, thereby eliminating block distortion. Thedeblocking filter 166 supplies an acquired resultant image to the framememory 169 for storage and outputs the resultant image to the screenrearranging buffer 167.

The screen rearranging buffer 167 arranges images supplied from thedeblocking filter 166. More specifically, the order of images that arearranged in order for encoding by the screen rearranging buffer 62illustrated in FIG. 1 is arranged in the order of the original display.The D/A conversion unit 168 performs D/A conversion of the imagesarranged by the screen rearranging buffer 167 and outputs resultantimages to a display not illustrated in the diagram for a display.

The switch 170 reads an image that is stored in the frame memory 169 asa reference image, outputs the read image to the motion compensatingunit 172, and supplies the read image to the intra prediction unit 171.

The intra prediction unit 171 performs an intra prediction process of anoptimal intra prediction mode that is represented by the intraprediction mode information based on the intra prediction modeinformation that is supplied from the lossless decoding unit 162,thereby generating a predicted image. The intra prediction unit 171outputs the predicted image to the switch 173.

The motion compensating unit 172 performs a motion compensating processfor the reference image that is supplied through the switch 170 based onthe inter prediction mode information, the motion vector information,and the like that are supplied from the lossless decoding unit 162,thereby generating a predicted image. The motion compensating unit 172supplies the predicted image to the switch 173.

The switch 173 selects the predicted image that is generated by themotion compensating unit 172 or the intra prediction unit 171 andsupplies the selected image to the calculation unit 165.

[Description of Process of Image Decoding Device]

FIG. 13 is a flowchart that illustrates a decoding process performed bythe image decoding device 151.

In Step S131, the storage buffer 161 stores compressed information thatis transmitted from the image encoding device 51. In Step S132, thelossless decoding unit 162 reads the compressed information from thestorage buffer 161 and performs a lossless decoding process for thecompressed information. The lossless decoding process performed in acase where the intra prediction mode information is acquired will bedescribed in detail with reference to FIG. 14 to be described below.

In addition, the lossless decoding unit 162 supplies quantized transformcoefficients that are acquired as a result of the lossless decodingprocess to the inverse quantization unit 163. The lossless decoding unit162 supplies intra prediction mode information that is acquired as aresult of the lossless decoding process to the inverse orthogonaltransformation unit 164 and the intra prediction unit 171 and suppliesthe inter prediction mode information, the motion vector information,and the like to the motion compensating unit 172. In addition, thelossless decoding unit 162 supplies the inter prediction modeinformation to the inverse orthogonal transformation unit 164.

In Step S133, the inverse quantization unit 163 performs inversequantization of the quantized transform coefficients that are suppliedfrom the lossless decoding unit 162 so as to have characteristics thatcorrespond to the characteristics of the quantization unit 65illustrated in FIG. 1. The inverse quantization unit 163 supplies thetransform coefficients that are acquired as a result of the inversequantization to the inverse orthogonal transformation unit 164.

In Step S134, the inverse orthogonal transformation unit 164 performsinverse orthogonal transform processing, which is similar to the inverseorthogonal transform processing of Step S17 illustrated in FIG. 7, ofthe transform coefficients that are supplied from the inversequantization unit 163. The inverse orthogonal transformation unit 164supplies residual information that is acquired as a result of theinverse orthogonal transform processing to the calculation unit 165.

In Step S135, the calculation unit 165 adds the predicted image that isinput by the process of Step S141 to be described below and the residualinformation that is supplied from the inverse orthogonal transformationunit 164 together as is needed and decodes the image. The calculationunit 165 supplies the decoded image to the deblocking filter 166.

In Step S136, the deblocking filter 166 filters the decoded image thatis supplied from the calculation unit 165, thereby eliminating blockdistortion. The deblocking filter 166 supplies an acquired resultantimage to the frame memory 169 and the screen rearranging buffer 167.

In Step S137, the frame memory 169 stores the image that is suppliedfrom the deblocking filter 166.

In Step S138, the lossless decoding unit 162 determines whether or notthe compressed image included in the compressed information is aninter-predicted image, in other words, whether or not the interprediction mode information has been acquired.

In a case where it is determined that the compressed image included inthe compressed information is an inter-predicted image in Step S138, thelossless decoding unit 162 supplies the inter prediction modeinformation, the motion vector, and the like to the motion compensatingunit 172.

Then, in Step S139, the motion compensating unit 172 performs a motioncompensating process for the reference image supplied through the switch170 based on the inter prediction mode information, the motion vectorinformation, and the like supplied from the lossless decoding unit 162,thereby generating a predicted image. The motion compensating unit 172supplies the predicted image to the switch 173.

On the other hand, in Step S138, in a case where it is determined thatthe compressed image included in the compressed information is not aninter-predicted image, in other words, in a case where it is determinedthat intra prediction mode information has been acquired, the losslessdecoding unit 162 supplies the intra prediction mode information to theintra prediction unit 171.

Then, in Step S140, the intra prediction unit 171 performs an intraprediction process of an optimal intra prediction mode that isrepresented by the intra prediction mode information based on the intraprediction mode information that is supplied from the lossless decodingunit 162, thereby generating a predicted image. The intra predictionunit 171 outputs the predicted image to the switch 173.

In Step S141, the switch 173 selects the predicted image that issupplied from the motion compensating unit 172 or the intra predictionunit 171 and outputs the selected image to the calculation unit 165.This predicted image, as described above, is added to the output of theinverse orthogonal transformation unit 164 in Step S135.

In Step S142, the screen rearranging buffer 167 arranges images suppliedfrom the deblocking filter 166.

In Step S143, the D/A conversion unit 168 performs D/A conversion of theimages arranged by the screen rearranging buffer 167 and outputsresultant images to a display not illustrated in the diagram for adisplay.

FIG. 14 is a flowchart that illustrates a lossless decoding process in acase where intra prediction mode information is acquired in Step S132illustrated in FIG. 13.

In Step S151, the lossless decoding unit 162 performs lossless decodingof coefficients, which are quantized and are losslessly encoded,included in the compressed information that is supplied from the storagebuffer 161 and supplies the coefficients to the inverse quantizationunit 163.

In Step S152, the lossless decoding unit 162 performs lossless decodingof high-frequency components, which are quantized and losslesslyencoded, included in the compressed information in the order accordingto an optimal intra prediction mode that is represented by the intraprediction information and supplies decoded high-frequency components tothe inverse quantization unit 163. In a case where a high-frequencycomponent is not included in the compressed information, the process ofStep S152 is not provided.

As above, the image decoding device 151 decodes the compressedinformation that is acquired from the encoding device 51, and, byperforming a discrete-type inverse KLT only for low-frequency componentsand performing an inverse DWT of which the amount of calculation is lessthan that of an inverse KLT, the inverse orthogonal transform processingcan be performed. As a result, the amount of calculation performed inthe inverse orthogonal transform processing is reduced, and accordingly,the amount of calculation can be reduced even in a case where the blocksize is large.

Second Embodiment [Configuration Example of Image Encoding Device]

FIG. 15 is a block diagram that illustrates a configuration example ofan image encoding device according to a second embodiment of the presenttechnology.

In the configuration illustrated in FIG. 15, a same reference sign isassigned to the same configuration as that illustrated in FIG. 1.Duplicate description will not be presented as is appropriate.

The configuration of the image encoding device 200 illustrated in FIG.15 is mainly different from that illustrated in FIG. 1 that anorthogonal transformation unit 201 is disposed instead of the orthogonaltransformation unit 64, and an inverse orthogonal transformation unit202 is disposed instead of the inverse orthogonal transformation unit69. In the intra prediction orthogonal transform processing, the imageencoding device 200 does not perform a separable-type KLT in all theintra prediction modes but performs a separable-type KLT in intraprediction modes of which the predicted directions are other than theoblique directions and performs a non-separable type KLT in intraprediction modes of which the predicted directions are other than theoblique directions.

More specifically, the orthogonal transformation unit 201 is configuredby an inter prediction orthogonal transformation unit 64A and an intraprediction orthogonal transformation unit 201B. In a case where intraprediction mode information is supplied from a predicted image selectingunit 76, the intra prediction orthogonal transformation unit 201Bperforms orthogonal transform processing on residual informationsupplied from a calculation unit 63. More specifically, the intraprediction orthogonal transformation unit 201B extracts a high-frequencycomponent and a low-frequency component by performing a DWT on theresidual information. In addition, the intra prediction orthogonaltransformation unit 201B may change the number of DWTs to be performedbased on whether a predicted direction of the intra prediction mode isan oblique direction or a direction other than the oblique direction.

In a case where the predicted direction of the intra prediction mode isthe oblique direction, the intra prediction orthogonal transformationunit 201B performs a non-separable type KLT of each intra predictionmode information on the low-frequency component. On the other hand, in acase where the predicted direction of the intra prediction mode is adirection other than the oblique direction, the intra predictionorthogonal transformation unit 201B performs a separable-type KLT ofeach intra prediction mode information on the low-frequency component.The intra prediction orthogonal transformation unit 201B suppliescoefficients that are acquired as a result of the KLT of an optimalintra prediction mode that is represented by the intra prediction modeinformation and the high-frequency component to the quantization unit 65as transform coefficients.

The inverse orthogonal transformation unit 202 is configured by an interprediction inverse orthogonal transformation unit 69A and an intraprediction inverse orthogonal transformation unit 202B. In a case wherethe intra prediction mode information is supplied from the predictedimage selecting unit 76, the intra prediction inverse orthogonaltransformation unit 202B performs inverse orthogonal transformprocessing on transform coefficients that are supplied from the inversequantization unit 68. More specifically, in a case where the predicteddirection of the intra prediction mode is the oblique direction, theintra prediction inverse orthogonal transformation unit 202B performs anon-separable type inverse KLT of each intra prediction mode oncoefficients of the low-frequency component out of the transformcoefficients. On the other hand, in a case where the predicted directionof the intra prediction mode is a direction other than the obliquedirection, the intra prediction inverse orthogonal transformation unit202B performs a separable-type inverse KLT of each intra prediction modeon coefficients of the low-frequency component out of the transformcoefficients.

In addition, the intra prediction inverse orthogonal transformation unit202B performs an inverse DWT for a low frequency component that isacquired as a result of performing the inverse KLT of an optimal intraprediction mode that is represented by the intra prediction modeinformation and a high-frequency component of the transformcoefficients, thereby acquiring residual information. The intraprediction inverse orthogonal transformation unit 202B may change thenumber of inverse DWTs to be performed based on whether a predicteddirection of the optimal intra prediction mode is an oblique directionor a direction other than the oblique direction. The intra predictioninverse orthogonal transformation unit 202B supplies the residualinformation to the calculation unit 70.

[Example of Detailed Configuration of Intra Prediction OrthogonalTransformation Unit]

FIG. 16 is a block diagram that illustrates an example of a detailedconfiguration of the intra prediction orthogonal transformation unit201B that is illustrated in FIG. 15.

In the configuration illustrated in FIG. 16, a same reference sign isassigned to a same configuration as that illustrated in FIG. 3.Repetitive description will not be presented as is appropriate.

The configuration of the intra prediction orthogonal transformation unit201B illustrated in FIG. 16 is mainly different from the configurationillustrated in FIG. 3 in that a DWT unit 221 is newly disposed, KLTunits 222-3 to 222-8 are deposed instead of the KLT units 92-3 to 92-8,and a selector 223 is disposed instead of the selector 93.

In the intra prediction orthogonal transformation unit 201B illustratedin FIG. 16, a DWT unit 91 is a DWT unit that is used for intraprediction modes of numbers 0 to 2, and a low-frequency component thatis output from the DWT unit 91 is supplied only to KLT units 92-0 to92-2.

The DWT unit 221 is a DWT unit that is used for intra prediction modesof numbers 3 to 8, and the DWT unit 221 (prior orthogonal transformationunit) performs a DWT on residual information that is supplied from thecalculation unit 63 (FIG. 15) as is needed, thereby acquiring alow-frequency component and a high-frequency component. The number ofDWTs performed by the DWT unit 221 and the number of DWTs performed bythe DWT unit 91 may be the same or be different from each other.However, since the non-separable type KLT performed by the KLT units222-3 to 222-8 has a more calculation amount than the separable-type KLTperformed by the KLT units 92-0 to 92-2, in a case where the calculationamounts that can be processed by both KLT units are the same, the DWTunit 221 needs to perform DWTs more than the DWT unit 91.

The DWT unit 221 supplies low-frequency components to the KLT units222-3 to 222-8 and supplies high-frequency components to the selector223. In addition, in a case where a KLT does not need to be performed,the DWT unit 221 supplies the residual information to the KLT units222-3 to 222-8 without change.

The KLT units 222-3 to 222-8 (posterior orthogonal transformation units)perform non-separable type KLTs on the low-frequency components or theresidual information that is supplied from the DWT unit 221 using basesof the KLTs of the intra prediction modes of numbers 3 to 8. Here, thebase of the KLT of each intra prediction mode is an optimal value thatis acquired through learning in advance. The KLT units 222-3 to 222-8supply coefficients that are acquired as results of the non-separabletype KLTs to the selector 223.

The intra prediction mode information supplied from the predicted imageselecting unit 76 is supplied to the selector 223. The selector 223selects a coefficient, which is supplied from one of the KLT units 92-0to 92-2 and the KLT units 222-3 to 222-8 that corresponds to the optimalintra prediction mode, out of coefficients supplied from the KLT units92-0 to 92-2 and the KLT units 222-3 to 222-8 based on the intraprediction mode information. Then, the selector 223 supplies theselected coefficient of the residual information to the quantizationunit 65 (FIG. 15). Alternatively, the selector 223 supplies thecoefficients of the low-frequency component and high-frequencycomponents supplied from the DWT unit 91 or the DWT unit 221 thatcorresponds to the optimal intra prediction mode to the quantizationunit 65 as transform coefficients.

As described above, the intra prediction orthogonal transformation unit201B performs non-separable type KLTs as KLTs that correspond to theintra prediction modes of numbers 3 to 8 of which the predicteddirections are oblique directions, and accordingly, the encodingefficiency can be improved.

More specifically, in the separable-type KLT, a KLT is performed with acomponent being divided into the horizontal direction and the verticaldirection, and accordingly, restriction is added to the base of the KLTmore than the non-separable type KLT, whereby the performance isdegraded. More specifically, in a case where the predicted direction ofthe intra prediction mode is an oblique direction, although residualinformation having a strong correlation in an oblique direction may beeasily generated, it is difficult to consider the correlation in theoblique direction in the separable-type KLT, whereby the performance isdegraded. In contrast to this, the intra prediction orthogonaltransformation unit 201B performs a non-separable type KLT as a KLT thatcorresponds to the intra prediction mode of which the predicteddirection is an oblique direction, and accordingly, a correlation in theoblique direction is considered, whereby the performance is improved. Asa result, the encoding efficiency is improved.

In addition, in the case of an intra prediction mode in which thepredicted direction is a direction other than an oblique direction, thatis, the horizontal direction or the vertical direction, residualinformation having a strong correlation in the horizontal direction orthe vertical direction may be easily generated, whereby sufficientencoding efficiency can be realized even in the separable-type KLT.Accordingly, in the case of an intra prediction mode in which thepredicted direction is other than an oblique direction, the intraprediction orthogonal transformation unit 201B performs a separable-typeKLT, thereby reducing the amount of calculation.

Although the selector 223 is disposed after the KLT units 92-0 to 92-2and the KLT units 222-3 to 222-8 in the intra prediction orthogonaltransformation unit 201B illustrated in FIG. 16, the selector may bedisposed before the KLT units 92-0 to 92-2 and the KLT units 222-3 to222-8. In such a case, the low-frequency component or the residualinformation that is output from the DWT unit 91 or the DWT unit 221 issupplied to only one of the KLT units 92-0 to 92-2 and the KLT units222-3 to 222-8 that corresponds to the optimal intra prediction mode.

[Description of DWT]

FIG. 17 is a diagram that illustrates the DWT performed by the DWT unit221.

In the example illustrated in FIG. 17, the DWT unit 221 performs threeDWTs. Here, A of FIG. 17 to C of FIG. 17 are the same as A of FIG. 4 toC of FIG. 4, and thus, the description thereof will not be presented.

As illustrated in D of FIG. 17, when a DWT is performed for an LLLLcomponent illustrated in C of FIG. 17 in the horizontal direction andthe vertical direction, the horizontal component and the verticalcomponent of the LLLL component are respectively divided into ahigh-frequency component and a low-frequency component. As a result, theLLLL component is divided into a component (LLLLLL component) in whichthe horizontal component and the vertical component are low-frequencycomponents, a component (LLLLHL component) in which the horizontalcomponent is a high-frequency component and the vertical component is alow frequency component, a component (LLLLLH) in which the horizontalcomponent is a low-frequency component and the vertical component is ahigh-frequency component, and a component (LLLLHH component) in whichthe horizontal component and the vertical component are high-frequencycomponents. The HL component, the LH component, the HH component, theLLHL component, the LLLH component, and the LLHH component that arecomponents of the residual information other than the LLLL component areunchanged.

For example, as illustrated in FIG. 4, in a case where the number ofDWTs performed by the DWT unit 91 is two, the DWT unit 221, asillustrated in FIG. 17, performs three DWTs, thereby further decreasingthe size of the low-frequency component that is a target for a KLT.

[Detailed Configuration Example of Intra Prediction Inverse OrthogonalTransformation Unit]

FIG. 18 is a block diagram that illustrates an example of a detailedconfiguration of the intra prediction inverse orthogonal transformationunit 202B that is illustrated in FIG. 15.

In the configuration illustrated in FIG. 18, a same reference sign isassigned to the same configuration as that illustrated in FIG. 5.Duplicate description will not be presented as is appropriate.

The configuration of the intra prediction inverse orthogonaltransformation unit 202B illustrated in FIG. 18 is mainly different fromthe configuration illustrated in FIG. 5 that inverse KLT units 241-3 to241-8 are disposed instead of the inverse KLT units 101-3 to 101-8,selectors 242 and 243 are disposed instead of the selector 102, and aninverse DWT unit 244 is newly disposed.

The inverse KLT units 241-3 to 241-8 of the intra prediction inverseorthogonal transformation unit 202B illustrated in FIG. 18 performnon-separable type inverse KLTs for coefficients of the transformcoefficients supplied from the inverse quantization unit 68 illustratedin FIG. 15 using bases of the inverse KLTs of the intra prediction modesof numbers 3 to 8.

The intra prediction mode information that is supplied from thepredicted image selecting unit 76 is supplied to the selector 242. Theselector 242 selects a post-inverse KLT component, which is suppliedfrom one of the inverse KLT units 101-0 to 101-2, corresponding to theoptimal intra prediction mode out of post-inverse KLT componentssupplied from the inverse KLT units 101-0 to 101-2 based on the intraprediction mode information. Then, the selector 242 supplies theselected post-inverse KLT component to the inverse DWT unit 103.

The intra prediction mode information that is supplied from thepredicted image selecting unit 76 is supplied to the selector 243. Theselector 243 selects a post-inverse KLT component, which is suppliedfrom one of the inverse KLT units 241-3 to 241-8, corresponding to theoptimal intra prediction mode out of post-inverse KLT componentssupplied from the inverse KLT units 241-3 to 241-8 based on the intraprediction mode information. Then, the selector 243 supplies theselected post-inverse KLT component to the inverse DWT unit 244.

In the intra prediction inverse orthogonal transformation unit 202B, theinverse DWT unit 103 is an inverse DWT unit used for intra predictionmodes of numbers 0 to 2, and a component that is acquired from one ofthe inverse KLT units 101-0 to 101-2 is supplied to the inverse DWT unit103 through the selector 242.

The inverse DWT unit 244 is an inverse DWT unit used for intraprediction modes of numbers 3 to 8, and the inverse DWT unit 244supplies a component that is supplied from one of the inverse KLT units241-3 to 241-8 through the selector 243 to the calculation unit 70 (FIG.15) as residual information. Alternatively, the inverse DWT unit 244performs an inverse DWT that corresponds to a DWT performed by the DWTunit 221 for the component supplied from the selector 243 and ahigh-frequency component of the transform coefficients supplied from theinverse quantization unit 68 and supplies an acquired resultantcomponent to the calculation unit 70 as the residual information.

In the intra prediction inverse orthogonal transformation unit 202Billustrated in FIG. 18, although the selectors 242 and 243 are disposedafter the inverse KLT units 101-0 to 101-2 and the inverse KLT units241-3 to 241-8, the selector may be disposed before the inverse KLTunits 101-0 to 101-2 and the inverse KLT units 241-3 to 241-8. In such acase, coefficients of the transform coefficients supplied from theinverse quantization unit 68 are supplied only to one of the inverse KLTunits 101-0 to 101-2 and the inverse KLT units 241-3 to 241-8 thatcorresponds to the optimal intra prediction mode.

[Description of Process of Image Encoding Device]

The encoding process of the image encoding device 200 illustrated inFIG. 15 is the same as the encoding process illustrated in FIG. 7 exceptfor orthogonal transform processing performed by the intra predictionorthogonal transformation unit 64B in Step S14 illustrated in FIG. 7 andinverse orthogonal transform processing performed by the intraprediction inverse orthogonal transformation unit 69B in Step S17. Thus,only the orthogonal transform processing and the inverse orthogonaltransform processing will be described.

FIG. 19 is a flowchart that illustrates orthogonal transform processingperformed by the intra prediction orthogonal transformation unit 201B ofthe image encoding device 200.

The processes of Steps S241 to S246 illustrated in FIG. 19 are the sameas those of Steps S41 to S44 and S48 illustrated in FIG. 8 except thatthe processes of Steps S245 and S246 are performed by the KLT units 92-0to 92-2.

After the process of Step S245 or Step S246, the DWT unit 221 (FIG. 16)of the intra prediction orthogonal transformation unit 201B determineswhether or not the size of the residual information supplied from thecalculation unit 63 (FIG. 15) is a size that can be processed by the KLTunits 222-3 to 222-8 in Step S247.

In a case where the size of the residual information is determined notto be a size that can be processed by the KLT units 222-3 to 222-8 inStep S247, the DWT unit 221 performs a DWT for the residual informationin Step S248.

In Step S249, the DWT unit 221 determines whether or not the size of alow-frequency component acquired as a result of the process of Step S248is a size that can be processed by the KLT units 222-3 to 222-8. In acase where the size of the low-frequency component acquired as theresult of the DWT is determined not to be a size that can be processedby the KLT units 222-3 to 222-8 in Step S249, the DWT unit 221 performsa DWT for the low-frequency component acquired as the result of theprocess of Step S248 in Step S250. Then, the process is returned to StepS249, and the process of Steps S249 and S250 is repeated until the sizeof the low-frequency component becomes a size that can be processed bythe KLT units 222-3 to 222-8.

In a case where the size of the low-frequency component acquired as theresult of the DWT is determined to be a size that can be processed bythe KLT units 222-3 to 222-8 in Step S249, the DWT unit 221 supplies thelow-frequency component acquired as the result of the DWT to the KLTunits 222-3 to 222-8 and supplies a high-frequency component to theselector 223.

Then, in Step S252, the KLT units 222-3 to 222-8 perform non-separabletype KLTs for the low-frequency component by using bases of the KLTs ofthe corresponding intra prediction modes. Then, the process proceeds toStep S253.

On the other hand, in a case where the size of the residual informationis determined to be a size that can be processed by the KLT units 222-3to 222-8 in Step S247, the DWT unit 221 supplies the residualinformation to the KLT units 222-3 to 222-8 without change. Then, inStep S251, the KLT units 222-3 to 222-8 perform non-separable type KLTsfor the residual information by using the bases of the KLTs of thecorresponding intra prediction modes, and the process proceeds to StepS253.

In Step S253, similarly to the process of Step S46 illustrated in FIG.8, the selector 223 selects a coefficient that is supplied from one ofthe KLT units 92-0 to 92-2 or the KLT units 222-3 to 222-8 thatcorresponds to the optimal intra prediction mode out of the coefficientssupplied from the KLT units 92-0 to 92-2 and the KLT units 222-3 to222-8 based on the intra prediction mode information and outputs theselected coefficient to the quantization unit 65 (FIG. 15).

In Step S254, the selector 223 determines whether or not the DWT unit 91or the DWT unit 221 that corresponds to the optimal intra predictionmode has performed a DWT, in other words, whether or not ahigh-frequency component has been supplied from the DWT unit 91 or theDWT unit 221 that corresponds to the optimal intra prediction mode.

In a case where it is determined that the DWT unit 91 or the DWT unit221 that corresponds to the optimal intra prediction mode has performeda DWT in Step S254, the process proceeds to Step S255. In Step S255, theselector 223 outputs a high-frequency component supplied from the DWTunit 91 or the DWT unit 221 that corresponds to the optimal intraprediction mode to the quantization unit 65 (FIG. 15) without change andends the process.

On the other hand, in a case where it is determined that the DWT unit 91or the DWT unit 221 that corresponds to the optimal intra predictionmode has not performed a DWT in Step S254, the process immediately ends.

FIG. 20 is a flowchart that illustrates inverse orthogonal transformprocessing of the intra prediction inverse orthogonal transformationunit 202B of the image encoding device 200.

In Step S261, the inverse KLT units 101-0 to 101-2 (FIG. 18) of theintra prediction inverse orthogonal transformation unit 202B performseparable-type inverse KLTs for the coefficients out of the transformcoefficients supplied from the inverse quantization unit 68 (FIG. 15)using bases of the KLTs of the intra prediction modes of numbers 0 to 2.

In Step S262, the inverse KLT units 241-3 to 241-8 perform non-separabletype inverse KLTs for the coefficients out of the transform coefficientssupplied from the inverse quantization unit 68 using bases of the KLTsof the intra prediction modes of numbers 3 to 8.

In Step S263, each of the selectors 242 and 243 selects a post-inverseKLT component supplied from one of the inverse KLT units 101-0 to 101-2or the inverse KLT units 241-3 to 241-8 that corresponds to the optimalintra prediction mode out of the post-inverse KLT components suppliedfrom the inverse KLT units 101-0 to 101-2 or the inverse KLT units 241-3to 241-8 based on the intra prediction mode information supplied fromthe predicted image selecting unit 76. Then, the selectors 242 and 243supply the selected post-inverse KLT components to the inverse DWT unit103 or the inverse DWT unit 244, and the process proceeds to Step S264.The subsequent process is performed by the inverse DWT unit 103 or theinverse DWT unit 244 to which the post-inverse KLT component issupplied.

In Step S264, the inverse DWT unit 103 or the inverse DWT unit 244determines whether or not the size of the post-inverse KLT componentsupplied from the selector 242 or 243 is the block size. In a case wherethe size of the post-inverse KLT component is determined not to be theblock size in Step S264, the process proceeds to Step S265. In StepS265, the inverse DWT unit 103 performs an inverse DWT forhigh-frequency components out of the post-inverse KLT component and thetransform coefficients supplied from the inverse quantization unit 68.

In Step S266, the inverse DWT unit 103 or the inverse DWT unit 244determines whether or not the size of the post-inverse DWT componentthat is acquired by as a result of the process of Step S264 is the blocksize. In a case where the size of the post-inverse DWT component isdetermined not to be the block size in Step S265, the process isreturned to Step S265, and the processes of Steps S265 and S266 arerepeated until the size of the post-inverse DWT component becomes theblock size.

In a case where the size of the post-inverse DWT component is determinedto be the block size in Step S266, the process proceeds to Step S267.

On the other hand, in a case where the size of the post-inverse KLTcomponent is determined to be the block size in Step S264, the processproceeds to Step S267.

In Step S267, the inverse DWT unit 103 or the inverse DWT unit 244supplies the post-inverse DWT component or the post-inverse KLTcomponent to the calculation unit 70 as the residual information.

[Configuration Example of Image Decoding Device]

FIG. 21 is a block diagram that illustrates a configuration example ofan image decoding device according to a second embodiment of the presenttechnology.

In the configuration illustrated in FIG. 21, a same reference sign isassigned to the same configuration as that illustrated in FIG. 12.Duplicate description will not be presented as is appropriate.

The configuration of the image decoding device 300 illustrated in FIG.21 is mainly different from the configuration illustrated in FIG. 12that an inverse orthogonal transformation unit 301 is disposed insteadof the inverse orthogonal transformation unit 164.

The inverse orthogonal transformation unit 301 of the image decodingdevice 300 is configured similarly to the inverse orthogonaltransformation unit 202 illustrated in FIG. 15. The inverse orthogonaltransformation unit 301 performs inverse orthogonal transform processingfor transform coefficients supplied from the inverse quantization unit163 in accordance with the inter prediction mode information or theintra prediction mode information supplied from the lossless decodingunit 162. The inverse orthogonal transformation unit 301 supplies theresidual information acquired as a result of the inverse orthogonaltransform processing to the calculation unit 165.

[Description of Process of Image Decoding Device]

The decoding process of the image decoding device 300 illustrated inFIG. 21 is the same as the decoding process illustrated in FIG. 13except for inverse orthogonal transform processing of Step S134illustrated in FIG. 13, and thus, description of processes other thanthe inverse orthogonal transform process will not be presented. In theinverse orthogonal transform processing of the image decoding device300, in a case where intra prediction information is supplied from thelossless decoding unit 162, inverse orthogonal transform processingsimilar to the inverse orthogonal transform processing illustrated inFIG. 20 is performed, and, in a case where inter prediction informationis supplied, an inverse orthogonal transform is performed for thetransform coefficients supplied from the inverse quantization unit 163.

In the description presented above, although the predicted directions ofthe intra prediction modes of numbers 3 to 8 are assumed to be obliquedirections, it may be assumed that the predicted directions of the intraprediction modes of numbers 5 and 7 are the vertical direction, and thepredicted directions of the intra prediction modes of numbers 6 and 8are the horizontal direction.

In the description presented above, two types of 4×4 pixels and 8×8pixels are assumed as the block sizes of the intra prediction, otherblock sizes such as 16×16 pixels, 32×32 pixels, 64×64 pixels, and128×128 pixels may be handled. However, in such a case, since the numberof the intra prediction modes changes, the number of the KLT units orthe inverse KLT units changes. For example, in a case where the blocksize is 16×16 pixels, there are four types of intra prediction modes,and the number of the KLT units or the inverse KLT units is four.

In the description presented above, although the DWT is performed beforethe KLT, the orthogonal transform that is performed before the KLT maybe any type of orthogonal transform, of which the calculation amount isless than that of the KLT, for example, for which a high-speed algorithmcan be arranged.

In the present technology, the size of the macro block is arbitrary. Thepresent technology may be applied to a macro block having any size, forexample, as illustrated in FIG. 22. For example, the present technologymay be applied not only to a macro block of an ordinary 16×16 pixels butalso to a macro block (expanded macro block) that is expanded as 32×32pixels.

Third Embodiment

[Description of Computer to which Present Technology is Applied]

Next, the encoding process or the decoding process described above maybe performed by hardware or software. In a case where the encodingprocess or the decoding process is performed by the software, a programthat configures the software is installed to a general-purpose computeror the like.

FIG. 23 illustrates a configuration example of a computer, to which theprogram that executes a series of processes described above isinstalled, according to an embodiment.

The program may be recorded in a storage unit 408 or a read only memory(ROM) 402 in advance as a recording medium that is built in thecomputer.

Alternatively, the program may be stored (recorded) on a removablemedium 411. Such a removable medium 411 may be provided as so-calledpackage software. Here, examples of the removable medium 411 include aflexible disk, a compact disc read only memory (CD-ROM), a magnetooptical (MO) disk, a digital versatile disc (DVD), a magnetic disk, anda semiconductor memory.

In addition, instead of installing the program to the computer from aremovable medium 411 as described above through a drive 410, the programmay be downloaded into the computer through a communication network or abroadcast network and be installed to the storage unit 408 that is builttherein. In other words, the program may be transmitted to the computerin a wired manner, for example, from a download site through a satelliteused for digital satellite broadcasting or be transmitted to thecomputer in a wired manner through a network such as a local areanetwork (LAN) or the Internet.

The computer includes a central processing unit (CPU) 401 therein, andan input/output interface 405 is connected to the CPU 401 through a bus404.

When an instruction is input from a user through the input/outputinterface 405 by operating an input unit 406, the CPU 401 executes aprogram that is stored in the ROM 402 in accordance with theinstruction. Alternatively, the CPU 401 loads a program that is storedin the storage unit 408 into a random access memory (RAM) 403 andexecutes the program.

Accordingly, the CPU 401 performs the process according to theabove-described flowchart or the process that is performed by theconfiguration of the above-described block diagram. Then, the CPU 401outputs a processing result from an output unit 407, for example,through the input/output interface 405, transmits the processing resultfrom a communication unit 409, or records the processing result in thestorage unit 408 as is needed.

Here, the input unit 406 is configured by a keyboard, a mouse, amicrophone, and the like. In addition, the output unit 407 is configuredby a liquid crystal display (LCD), a speaker, and the like.

Here, in this specification, the process that is performed by a computerin accordance with a program does not need to be performed necessarilyin a time series in accordance with the sequence described in theflowchart. In other words, the process that is performed by the computerin accordance with the program includes a process (for example, aparallel process or a process using an object) that is performed in aparallel manner or in an individual manner.

In addition, the program may be processed by one computer (processor) ormay be processed by a plurality of computers in a distributed manner.Furthermore, the program may be transmitted to a remote computer and beexecuted.

Fourth Embodiment [Configuration Example of Television Receiver]

FIG. 24 is a block diagram that illustrates an example of a mainconfiguration of a television receiver that uses the image decodingdevice according to the present technology.

The television receiver 500 illustrated in FIG. 24 includes aterrestrial tuner 513, a video decoder 515, a video signal processingcircuit 518, a graphic generating circuit 519, a panel driving circuit520, and a display panel 521.

The terrestrial tuner 513 receives a broadcasting signal of terrestrialanalog broadcasting through an antenna and demodulates the receivedbroadcasting signal so as to acquire a video signal and supplies thevideo signal to the video decoder 515. The video decoder 515 performs adecoding process for the video signal that is supplied from theterrestrial tuner 513 and supplies acquired digital component signals tothe video signal processing circuit 518.

The video signal processing circuit 518 performs a predetermined processsuch as a noise eliminating process for the video data that is suppliedfrom the video decoder 515 and supplies acquired video data to thegraphic generating circuit 519.

The graphic generating circuit 519 generates video data of a program tobe displayed on the display panel 521, image data according to a processthat is based on an application supplied through a network, and the likeand supplies the video data or the image data that has been generated tothe panel driving circuit 520. In addition, the graphic generatingcircuit 519 appropriately performs a process of generating video data(graphics) used for displaying a screen that is used by a user forselecting an item or the like and supplying video data that is acquiredby superimposing the generated video data on the video data of theprogram to the panel driving circuit 520.

The panel driving circuit 520 drives the display panel 521 based on datathat is supplied from the graphic generating circuit 519, therebydisplaying the video of the program or various screens described aboveon the display panel 521.

The display panel 521 is formed by a liquid crystal display (LCD) or thelike and displays a video of a program or the like under the control ofthe panel driving circuit 520.

In addition, the television receiver 500 further includes an audioanalog/digital (A/D) conversion circuit 514, an audio signal processingcircuit 522, an echo cancellation/audio synthesizing circuit 523, anaudio amplifying circuit 524, and a speaker 525.

The terrestrial tuner 513 acquires not only a video signal but also anaudio signal by demodulating the received broadcasting signal. Theterrestrial tuner 513 supplies the acquired audio signal to the audioA/D conversion circuit 514.

The audio A/D conversion circuit 514 performs an A/D conversion processfor the audio signal supplied from the terrestrial tuner 513 andsupplies an acquired digital audio signal to the audio signal processingcircuit 522.

The audio signal processing circuit 522 performs a predetermined processsuch as a noise eliminating process for the audio data that is suppliedfrom the audio A/D conversion circuit 514 and supplies acquired audiodata to the echo cancellation/audio synthesizing circuit 523.

The echo cancellation/audio synthesizing circuit 523 supplies the audiodata that is supplied from the audio signal processing circuit 522 tothe audio amplifying circuit 524.

The audio amplifying circuit 524 performs a D/A conversion process andan amplifying process for the audio data that is supplied from the echocancellation/audio synthesizing circuit 523, adjusts resultant data topredetermined volume, and then outputs audio from the speaker 525.

Furthermore, the television receiver 500 includes a digital tuner 516and an MPEG decoder 517.

The digital tuner 516 receives a broadcasting signal of digitalbroadcasting (terrestrial digital broadcasting or broadcasting satellite(BS)/communications satellite (CS) digital broadcasting) through anantenna and demodulates the received broadcasting signal so as toacquire a moving picture experts group-transport stream (MPEG-TS) andsupplies the MPEG-TS to the MPEG decoder 517.

The MPEG decoder 517 dissolves the scramble that is applied to theMPEG-TS supplied from the digital tuner 516 and extracts a streamincluding data of a program that is a reproduction target (viewingtarget). The MPEG decoder 517 decodes an audio packet that configuresthe extracted stream, supplies acquired audio data to the audio signalprocessing circuit 522, decodes a video packet that configures thestream, and supplies acquired video data to the video signal processingcircuit 518. In addition, the MPEG decoder 517 supplies electronicprogram guide (EPG) data extracted from the MPEG-TS to the CPU 532through a path not illustrated in the diagram.

The television receiver 500 uses the above-described image decodingdevice 151 (300) as the MPEG decoder 517 that decodes a video packet asdescribed above. Accordingly, similarly to the case of the imagedecoding device 151 (300), the MPEG decoder 517 can perform inverseorthogonal transform processing with a small amount of calculation.

A predetermined process is performed for the video data that is suppliedfrom the MPEG decoder 517, similarly to the video data supplied from thevideo decoder 515, by the video signal processing circuit 518. Then, thevideo data generated by the graphic generating circuit 519 and the likeappropriately overlap the video data for which the predetermined processhas been performed, and resultant video data is supplied to the displaypanel 521 through the panel driving circuit 520, whereby an imagethereof is displayed.

A predetermined process is performed for the audio data that is suppliedfrom the MPEG decoder 517, similarly to the audio data supplied from theaudio A/D conversion circuit 514, by the audio signal processing circuit522. Then, the audio data for which the predetermined process has beenperformed is supplied to the audio amplifying circuit 524 through theecho cancellation/audio synthesizing circuit 523, and a D/A conversionprocess and an amplifying process are performed for the audio data. As aresult, audio adjusted to predetermined volume is output from thespeaker 525.

In addition, the television receiver 500 includes a microphone 526 andan A/D conversion circuit 527.

The A/D conversion circuit 527 receives a user's audio signal that isreceived by the microphone 526 that is set for audio and is disposed inthe television receiver 500. The A/D conversion circuit 527 performs anA/D conversion process for the received audio signal and suppliesacquired digital audio data to the echo cancellation/audio synthesizingcircuit 523.

In a case where audio data of a user (user A) using the televisionreceiver 500 is supplied from the A/D conversion circuit 527, the echocancellation/audio synthesizing circuit 523 performs echo cancellationfor the audio data of user A as a target. Then, after the echocancellation, the echo cancellation/audio synthesizing circuit 523outputs audio data that is acquired by a process of being composed withother audio data or the like from the speaker 525 through the audioamplifying circuit 524.

Furthermore, the television receiver 500 also includes an audio codec528, an internal bus 529, a synchronous dynamic random access memory(SDRAM) 530, a flash memory 531, a CPU 532, a universal serial bus (USB)I/F 533, and a network I/F 534.

The A/D conversion circuit 527 receives a user's audio signal that isreceived by the microphone 526 that is set for audio and is disposed inthe television receiver 500. The A/D conversion circuit 527 performs anA/D conversion process for the received audio signal and suppliesacquired digital audio data to the audio codec 528.

The audio codec 528 converts the audio data that is supplied from theA/D conversion circuit 527 into data of a predetermined format fortransmission through a network and supplies the converted data to thenetwork I/F 534 through the internal bus 529.

The network I/F 534 is connected to the network through a cable that isinstalled to a network terminal 535. The network I/F 534, for example,transmits the audio data that is supplied from the audio codec 528 toanother device that is connected to the network. In addition, thenetwork I/F 534, for example, receives the audio data transmitted fromthe another device that is connected thereto through the network throughthe network terminal 535 and supplies the received audio data to theaudio codec 528 through the internal bus 529.

The audio codec 528 converts the audio data supplied from the networkI/F 534 into data of a predetermined format and supplies the converteddata to the echo cancellation/audio synthesizing circuit 523.

The echo cancellation/audio synthesizing circuit 523 performs echocancellation for the audio data supplied from the audio codec 528 as atarget and outputs audio data that is acquired by a process of beingcomposed with other audio data or the like from the speaker 525 throughthe audio amplifying circuit 524.

The SDRAM 530 stores various kinds of data that is necessary for the CPU532 to perform the process.

The flash memory 531 stores a program that is executed by the CPU 532.The program that is stored in the flash memory 531 is read by the CPU532 at predetermined timing such as at the time of start-up of thetelevision receiver 500. In the flash memory 531, the EPG data that isacquired through digital broadcasting, data that is acquired from apredetermined server through the network, and the like are also stored.

For example, in the flash memory 531, MPEG-TS that includes content dataacquired from a predetermined server through the network under thecontrol of the CPU 532 is stored. The flash memory 531 supplies theMPEG-TS to the MPEG decoder 517 through the internal bus 529, forexample, under the control of the CPU 532.

The MPEG decoder 517, similarly to the MPEG-TS that is supplied from thedigital tuner 516, processes the MPEG-TS. As above, the televisionreceiver 500 can receive content data that is formed by a video, anaudio, and the like through the network, decode the content data usingthe MPEG decoder 517, and display the video or output the audio.

In addition, the television receiver 500 also includes a light receivingunit 537 that receives an infrared signal transmitted from a remotecontroller 551.

The light receiving unit 537 receives infrared rays transmitted from theremote controller 551 and outputs a control code that represents thecontent of a user operation that is acquired through demodulation to theCPU 532.

The CPU 532 executes the program that is stored in the flash memory 531and controls the entire operation of the television receiver 500 inaccordance with a control code supplied from the light receiving unit537 and the like. The CPU 532 and each unit of the television receiver500 are connected to each other through a path not illustrated in thediagram.

The USB I/F 533 transmits and receives data between the televisionreceiver 500 and an external device that is connected through a USBcable that is installed to the USB terminal 536. The network I/F 534 isconnected to the network through a cable that is installed to thenetwork terminal 535 and transmits and receives data other than audiodata to or from various devices connected to the network as well.

By using the image decoding device 151 (300) as the MPEG decoder 517,the television receiver 500 can reduce the calculation amount of theinverse orthogonal transform processing. As a result, the televisionreceiver 500 can acquire a decoded image with a smaller calculationamount based on a broadcasting signal received through the antenna orcontent data acquired through the network and display the decoded image.

Fifth Embodiment [Configuration Example of Cellular Phone]

FIG. 25 is a block diagram that illustrates an example of a mainconfiguration of a cellular phone that uses the image encoding deviceand the image decoding device according to the present technology.

The cellular phone 600 illustrated in FIG. 25 includes a main controlunit 650 that is configured so as to perform overall control of eachunit, a power supply circuit unit 651, an operation input control unit652, an image encoder 653, a camera I/F unit 654, an LCD control unit655, an image decoder 656, a demultiplexing unit 657, arecording/reproducing unit 662, a modulation/demodulation circuit unit658, and an audio codec 659. These are interconnected through a bus 660.

In addition, the cellular phone 600 includes operation keys 619, acharge coupled devices (CCD) camera 616, a liquid crystal display 618, astorage unit 623, a transmission/reception circuit unit 663, an antenna614, a microphone (mike) 621, and a speaker 617.

When a call-end and power key is turned on by a user's operation, thepower supply circuit unit 651 supplies power from a battery pack to eachunit, thereby starting up the cellular phone 600 to be in an operablestate.

The cellular phone 600 performs various operations such as transmissionand reception of an audio signal, transmission and reception of anelectronic mail or image data, image capturing, and data recording invarious modes such as a phone call mode and a data communication modeunder the control of the main control unit 650 that is formed by a CPU,a ROM, a RAM, and the like.

For example, in the phone call mode, the cellular phone 600 converts anaudio signal that is collected by the microphone (mike) 621 into digitalaudio data using the audio codec 659, performs a spread-spectrum processfor the digital audio data using the modulation/demodulation circuitunit 658, and performs a digital-to-analog conversion process and afrequency converting process using the transmission/reception circuitunit 663. The cellular phone 600 transmits a transmission signal that isacquired by the conversion processes to a base station not illustratedin the diagram through the antenna 614. The transmission signal (audiosignal) transmitted to the base station is supplied to a cellular phoneof a phone call opponent through a public telephone line network.

In addition, in the phone call mode, the cellular phone 600 amplifies areception signal received using the antenna 614 by using thetransmission/reception circuit unit 663, further performs a frequencyconversion process and an analog-to-digital conversion process for thereception signal, performs a spread-spectrum process using themodulation/demodulation circuit unit 658, and converts a resultantsignal into an analog audio signal using the audio codec 659. Thecellular phone 600 outputs the analog audio signal acquired through theconversions from the speaker 617.

Furthermore, for example, in a case where an electronic mail istransmitted in the data communication mode, the cellular phone 600receives text data of an electric mail that is input by operating theoperation keys 619 using the operation input control unit 652. Thecellular phone 600 processes the text data using the main control unit650 and displays the processed text data as an image on the liquidcrystal display 618 through the LCD control unit 655.

In addition, the cellular phone 600 generates electronic mail data basedon text data, a user instruction, and the like received by the operationinput control unit 652 using the main control unit 650. The cellularphone 600 performs spread-spectrum process for the electronic mail datausing the modulation/demodulation circuit unit 658 and performs adigital-to-analog conversion process and a frequency conversion processfor the electronic mail data using the transmission/reception circuitunit 663. The cellular phone 600 transmits a transmission signal that isacquired by the conversion processes to a base station not illustratedin the diagram through the antenna 614. The transmission signal(electronic mail) transmitted to the base station is supplied to apredetermined destination through the network, a mail server, and thelike.

Furthermore, for example, in a case where an electronic mail is receivedin the data communication mode, the cellular phone 600 receives a signaltransmitted from the base station through the antenna 614 using thetransmission/reception circuit unit 663, amplifies the signal, andfurther performs a frequency conversion process and an analog-to-digitalconversion process for the signal. The cellular phone 600 performs aspread-spectrum process for the reception signal using themodulation/demodulation circuit unit 658, thereby restoring the originalelectronic mail data. The cellular phone 600 displays the restoredelectronic mail data on the liquid crystal display 618 through the LCDcontrol unit 655.

In addition, the cellular phone 600 may record (store) the receivedelectronic mail data in the storage unit 623 through therecording/reproducing unit 662.

The storage unit 623 is an arbitrary rewritable storage medium. Thestorage unit 623, for example, may be a semiconductor memory such as aRAM or a built-in type flash memory, a hard disk, or a removable mediumsuch as a magnetic disk, a magneto-optical disk, an optical disk, a USBmemory, or a memory card. It is apparent that the storage unit 623 maybe any other type.

In addition, for example, in a case where image data is transmitted inthe data communication mode, the cellular phone 600 generates image datausing the CCD camera 616 through imaging. The CCD camera 616 includesoptical devices such as a lens and a diaphragm and CCDs as photoelectricconversion devices, images a subject, and converts the intensity ofreceived light into an electrical signal, thereby generating image dataof an image of the subject. The image data is converted into encodedimage data by performing compression and encoding of the image datausing a predetermined coding mode such as MPEG2 or MPEG4 by using theimage encoder 653 through the camera I/F unit 654.

The cellular phone 600 uses the above-described image encoding device 51(200) as the image encoder 653 that performs such a process.Accordingly, the image encoder 653, similarly to the case of the imageencoding device 51 (200), can perform the orthogonal transformprocessing and the inverse orthogonal transform processing with asmaller calculation amount.

In addition, at the same time, the cellular phone 600 performsanalog-to-digital conversion of audio collected using the microphone(mike) 621 while performing image capturing using the CCD camera 616 byusing the audio codec 659 and further encodes the audio.

The cellular phone 600 multiplexes the encoded image data supplied fromthe image encoder 653 and the digital audio data supplied from the audiocodec 659 in a predetermined mode in the demultiplexing unit 657. Thecellular phone 600 performs a spread-spectrum process for the acquiredresultant multiplexed data using the modulation/demodulation circuitunit 658 and performs a digital-to-analog conversion process and afrequency conversion process for resultant data using thetransmission/reception circuit unit 663. The cellular phone 600transmits a transmission signal that is acquired by the conversionprocesses to a base station not illustrated in the diagram through theantenna 614. The transmission signal (image data) transmitted to thebase station is supplied to a communication opponent through a networkor the like.

In a case where the image data is not transmitted, the cellular phone600 may display image data generated by the CCD camera 616 on the liquidcrystal display 618 not through the image encoder 653 but through theLCD control unit 655.

In addition, for example, in a case where data of a moving image filelinked from a simple home page or the like is received in the datacommunication mode, the cellular phone 600 receives a signal transmittedfrom the base station using the transmission/reception circuit unit 663through the antenna 614, amplifies the received signal, and furtherperforms a frequency conversion process and an analog-to-digitalconversion process for the received signal. The cellular phone 600performs a spread-spectrum process for the received signal using themodulation/demodulation circuit unit 658, thereby restoring the originalmultiplexed data. The cellular phone 600 separates the multiplexed datausing the demultiplexing unit 657 so as to be divided into encoded imagedata and audio data.

The cellular phone 600 generates reproduction moving image data bydecoding the encoded image data in a decoding mode that corresponds to apredetermined encoding mode such as MPEG2 or MPEG4 by using the imagedecoder 656 and displays the reproduction moving image data on theliquid crystal display 618 through the LCD control unit 655.Accordingly, for example, the moving image data included in the movingimage file linked from the simple home page is displayed on the liquidcrystal display 618.

The cellular phone 600 uses the above-described image decoding device151 (300) as the image decoder 656 that performs such a process.Accordingly, similarly to the case of the image decoding device 151(300), the image decoder 656 can perform the inverse orthogonaltransform processing with a smaller calculation amount.

At this time, the cellular phone 600, at the same time, converts thedigital audio data into an analog audio signal using the audio codec 659and outputs the analog audio signal from the speaker 617. Accordingly,for example, the audio data included in the moving image file that islinked from a simple home page is reproduced.

In addition, similarly to the case of the electronic mail, the cellularphone 600 may record (store) the data linked from a received simple homepage or the like in the storage unit 623 through therecording/reproducing unit 662.

The cellular phone 600 may acquire information recorded in atwo-dimensional code by analyzing the two-dimensional code acquired byusing the CCD camera 616 through imaging by using the main control unit650.

In addition, the cellular phone 600 may communicate with an externaldevice through infrared rays using the infrared communication unit 681.

By using the image encoding device 51 (200) as the image encoder 653,the cellular phone 600 can perform the orthogonal transform processingand the inverse orthogonal transform processing with a smallercalculation amount. As a result, the cellular phone 600 can provideanother device with encoded data (image data) that can be decoded with asmaller calculation amount.

In addition, by using the image decoding device 151 (300) as the imagedecoder 656, the cellular phone 600 can perform the inverse orthogonaltransform processing with a smaller calculation amount. As a result, thecellular phone 600 can acquire a decoded image with a smallercalculation amount from a moving image file that is linked from a simplehome page and display the decoded image.

In the description presented above, although the cellular phone 600 hasbeen described to use the CCD camera 616, an image sensor (CMOS imagesensor) using a complementary metal oxide semiconductor (CMOS) insteadof the CCD camera 616 may be used. Also in such a case, similarly to thecase of using the CCD camera 616, the cellular phone 600 can generateimage data of an image of a subject by imaging the subject.

In the description presented above, although the cellular phone 600 hasbeen described, for example, the image encoding device 51 (200) and theimage decoding device 151 (300) can be applied to any device, similarlyto the case of the cellular phone 600 as long as the device has animaging function and a communication function that are the same as thoseof the cellular phone 600 such as a personal digital assistants (PDA), asmart phone, an ultra mobile personal computer (UMPC), a netbook, or anotebook personal computer.

Sixth Embodiment [Configuration Example of Hard Disk Recorder]

FIG. 26 is a block diagram that illustrates an example of a mainconfiguration of a hard disk recorder that uses the image encodingdevice and the image decoding device according to the presenttechnology.

The hard disk recorder (HDD recorder) 700 illustrated in FIG. 26 is adevice that stores audio data and video data of a broadcasting programincluded in a broadcasting signal (television signal), which is receivedby a tuner, transmitted from a satellite, a terrestrial antenna, or thelike in a hard disk that is built therein and provides a user with thestored data at timing according to a user's instruction.

The hard disk recorder 700, for example, may extract audio data andvideo data from a broadcasting signal, appropriately decode the audiodata and the video data, and store the audio data and the video datathat have been decoded in the hard disk that is built therein. Inaddition, the hard disk recorder 700, for example, may acquire audiodata and video data from another device through a network, appropriatelydecode the audio data and the video data, and store the audio data andthe video data that have been decoded in the hard disk that is builttherein.

In addition, the hard disk recorder 700, for example, decodes the audiodata or the video data that is recorded in the built-in hard disk,supplies the audio data or the video data that has been decoded to amonitor 760, and displays an image thereof on the screen of the monitor760. Furthermore, the hard disk recorder 700 may output audio from aspeaker of the monitor 760.

The hard disk recorder 700, for example, decodes audio data or videodata that is extracted from a broadcasting signal acquired through atuner or audio data or video data acquired from another device throughthe network and supplies the audio data or the video data that has beendecoded to the monitor 760 so as to display the image on the screen ofthe monitor 760. In addition, the hard disk recorder 700 may output theaudio from the speaker of the monitor 760.

It is apparent that other operations can be performed.

As illustrated in FIG. 26, the hard disk recorder 700 includes areception unit 721, a demodulation unit 722, a demultiplexer 723, anaudio decoder 724, a video decoder 725, and a recorder control unit 726.In addition, the hard disk recorder 700 includes an EPG data memory 727,a program memory 728, a work memory 729, a display converter 730, an onscreen display (OSD) control unit 731, a display control unit 732, arecording/reproducing unit 733, a D/A converter 734, and a communicationunit 735.

The display converter 730 includes a video encoder 741. Therecording/reproducing unit 733 includes an encoder 751 and a decoder752.

The reception unit 721 receives an infrared signal transmitted from aremote controller (not illustrated in the diagram), converts theinfrared signal into an electrical signal, and outputs the electricalsignal to the recorder control unit 726. The recorder control unit 726,for example, is configured by a microprocessor or the like and performsvarious processes in accordance with a program that is stored in theprogram memory 728. The recorder control unit 726, at this time, usesthe work memory 729 as is necessary.

The communication unit 735 is connected to a network and performs aprocess of communicating with other devices through the network. Forexample, the communication unit 735 communicates with a tuner (notillustrated in the diagram) under the control of the recorder controlunit 726 and outputs a channel selection signal mainly to the tuner.

The demodulation unit 722 demodulates a signal supplied from the tunerand outputs the demodulated signal to the demultiplexer 723. Thedemultiplexer 723 separates the data supplied from the demodulation unit722 into audio data, video data, and EPG data and outputs the separateddata to the audio decoder 724, the video decoder 725, or the recordercontrol unit 726.

The audio decoder 724 decodes the input audio data, for example, in anMPEG mode and outputs the decoded audio data to therecording/reproducing unit 733. The video decoder 725 decodes the inputvideo data, for example, in the MPEG mode and outputs the decoded videodata to the display converter 730. The recorder control unit 726supplies the input EPG data to the EPG data memory 727 for storage.

The display converter 730 encodes the video data that is supplied fromthe video decoder 725 or the recorder control unit 726 into video data,for example, of a national television standards committee (NTSC) modeusing the video encoder 741 and outputs the encoded video data to therecording/reproducing unit 733. In addition, the display converter 730converts the screen size of video data that is supplied from the videodecoder 725 or the recorder control unit 726 into a size thatcorresponds to the size of the monitor 760. The display converter 730further converts the video data, of which the screen size has beenconverted, into a video data of the NTSC mode using the video encoder741, converts the converted video data into an analog signal, andoutputs the analog signal to the display control unit 732.

The display control unit 732 overlaps an on screen display (OSD) signaloutput by the OSD control unit 731 with the video signal input from thedisplay converter 730 and outputs a resultant signal to the display ofthe monitor 760 for display under the control of the recorder controlunit 726.

In addition, the audio data output by the audio decoder 724 is convertedinto an analog signal by the D/A converter 734 and is supplied to themonitor 760. The monitor 760 outputs the audio signal from the built-inspeaker.

The recording/reproducing unit 733 includes a hard disk as a storagemedium that records video data, audio data, and the like therein.

The recording/reproducing unit 733, for example, encodes the audio datasupplied from the audio decoder 724 in the MPEG mode using the encoder751. In addition, the recording/reproducing unit 733 encodes the videodata supplied from the video encoder 741 of the display converter 730 inthe MPEG mode using the encoder 751. The recording/reproducing unit 733composes the encoded data of the audio data and the encoded data of thevideo data using a multiplexer. The recording/reproducing unit 733amplifies the composed data through channel coding and writes the datainto the hard disk through a recording head.

The recording/reproducing unit 733 reproduces the data recorded in thehard disk through a reproducing head, amplifies the data, and separatesthe data into audio data and video data using the demultiplexer. Therecording/reproducing unit 733 decodes the audio data and the video datain the MPEG mode using the decoder 752. The recording/reproducing unit733 performs D/A conversion of the decoded audio data and outputsresultant audio data to the speaker of the monitor 760. In addition, therecording/reproducing unit 733 performs D/A conversion of the decodedvideo data and outputs resultant video data to the display of themonitor 760.

The recorder control unit 726 reads latest EPG data from the EPG datamemory 727 based on a user instruction that is represented by aninfrared signal, which is received through the reception unit 721,transmitted from the remote controller and supplies the latest EPG datato the OSD control unit 731. The OSD control unit 731 generates imagedata that corresponds to the input EPG data and outputs the image datato the display control unit 732. The display control unit 732 outputsthe video data input from the OSD control unit 731 to the display of themonitor 760 for display. Accordingly, the electronic program guide (EPG)is displayed on the display of the monitor 760.

In addition, the hard disk recorder 700 can acquire various kinds ofdata such as video data, audio data, or EPG data supplied from anotherdevice through a network such as the Internet.

The communication unit 735 acquires encoded data of video data, audiodata, EPG data, and the like transmitted from another device through thenetwork under the control of the recorder control unit 726 and suppliesthe acquired encoded data to the recorder control unit 726. The recordercontrol unit 726, for example, supplies the acquired encoded data of thevideo data or the audio data to the recording/reproducing unit 733 andstores the encoded data in the hard disk. At this time, the recordercontrol unit 726 and the recording/reproducing unit 733 may perform are-encoding process or the like as is necessary.

In addition, the recorder control unit 726 decodes the acquired encodeddata of the video data or the audio data and supplies acquired videodata to the display converter 730. The display converter 730, similarlyto the video data supplied from the video decoder 725, processes thevideo data supplied form the recorder control unit 726 and supplies theprocessed video data to the monitor 760 through the display control unit732, whereby an image thereof is displayed.

Furthermore, in accordance with the display of the image, the recordercontrol unit 726 may supply the decoded audio data to the monitor 760through the D/A converter 734 and output the audio from the speaker.

In addition, the recorder control unit 726 decodes the acquired encodeddata of the EPG data and supplies the decoded EPG data to the EPG datamemory 727.

The above-described hard disk recorder 700 uses the image decodingdevice 151 (300) as the video decoder 725, the decoder 752, and thedecoder that is built in the recorder control unit 726. Accordingly,similarly to the case of the image decoding device 151 (300), the videodecoder 725, the decoder 752, and the decoder that is built in therecorder control unit 726 can perform the inverse orthogonal transformprocessing with a smaller calculation amount.

Accordingly, the hard disk recorder 700 can generate a predicted imagewith high accuracy. As a result, the hard disk recorder 700 can acquirea decoded image with high accuracy based on the encoded data of thevideo data received through the tuner, the encoded data of the videodata read from the hard disk of the recording/reproducing unit 733, andthe encoded data of the video data acquired through the network anddisplay the decoded image on the monitor 760.

In addition, the hard disk recorder 700 uses the image encoding device51 (200) as the encoder 751. Accordingly, the encoder 751, similarly tothe case of the image encoding device 51 (200), can perform theorthogonal transform processing and the inverse orthogonal transformprocessing with a smaller calculation amount.

Accordingly, the hard disk recorder 700, for example, can improve theencoding efficiency of encoded data to be stored in the hard disk. As aresult, the hard disk recorder 700 can use the storage area of the harddisk more efficiently at a higher speed.

In the description presented above, although the hard disk recorder 700that records the video data or the audio data in the hard disk has beendescribed, it is apparent that a recording medium of any type may beused. For example, even in the case of a recorder such as a flashmemory, an optical disc, or a video tape that uses a recording mediumother than a hard disk, similarly to the case of the above-describedhard disk recorder 700, the image encoding device 51 (200) and the imagedecoding device 151 (300) can be applied.

Seventh Embodiment [Configuration Example of Camera]

FIG. 27 is a block diagram that illustrates an example of a mainconfiguration of a camera that uses the image decoding device and theimage encoding device according to the present technology.

The camera 800 illustrated in FIG. 27 images a subject and displays animage of the subject on an LCD 816 or records the image in a recordingmedium 833 as image data.

A lens block 811 allows light (in other words, a video of a subject) tobe incident to a CCD/CMOS 812. The CCD/CMOS 812 is an image sensor thatuses a CCD or a CMOS, converts the intensity of received light into anelectrical signal, and supplies the electrical signal to a camera signalprocessing unit 813.

The camera signal processing unit 813 converts electrical signalssupplied from the CCD/CMOS 812 into chrominance signals of Y, Cr, and Cband supplies the chrominance signals to an image signal processing unit814. The image signal processing unit 814 performs predetermined imageprocessing for an image signal supplied from the camera signalprocessing unit 813 or decodes the image signal, for example, in theMPEG mode using an encoder 841 under the control of a controller 821.The image signal processing unit 814 encodes an image signal andsupplies the generated encoded data to a decoder 815. In addition, theimage signal processing unit 814 acquires display data generated on anon-screen display (OSD) 820 and supplies the display data to the decoder815.

In the above-described process, the camera signal processing unit 813maintains the image data, encoded data acquired by encoding the imagedata, or the like in a dynamic random access memory (DRAM) 818 as isnecessary by appropriately using the DRAM 818 that is connected througha bus 817.

The decoder 815 decodes the encoded data supplied from the image signalprocessing unit 814 and supplies acquired image data (decoded imagedata) to the LCD 816. In addition, the decoder 815 supplies the displaydata supplied from the image signal processing unit 814 to the LCD 816.The LCD 816 appropriately composes the image of the decoded image datasupplied from the decoder 815 and the image of the display data anddisplays the composed image.

The on screen display 820 outputs display data such as a menu screenthat is formed by symbols, characters, or graphics or icons to the imagesignal processing unit 814 through the bus 817 under the control of thecontroller 821.

The controller 821 performs various processes based on a signal thatrepresents a content that is instructed by a user using an operationunit 822 and controls the image signal processing unit 814, the DRAM818, an external interface 819, the on screen display 820, a mediumdrive 823, and the like through the bus 817. In a flash ROM 824, aprogram, data, and the like that are necessary for the controller 821 toperform various processes are stored.

For example, the controller 821, instead of the image signal processingunit 814 or the decoder 815, may encode the image data that is stored inthe DRAM 818 or decode the encoded data that is stored in the DRAM 818.At this time, the controller 821 may perform an encoding/decodingprocess in the same mode as the encoding/decoding mode of the imagesignal processing unit 814 or the decoder 815 or may perform theencoding/decoding process in a mode that the image signal processingunit 814 or the decoder 815 does not support.

For example, in a case where image printing is directed to be startedfrom the operation unit 822, the controller 821 reads image data fromthe DRAM 818 and supplies the image data to a printer 834 that isconnected to the external interface 819 through the bus 817 for beingprinted.

In addition, for example, in a case where image recording is directedfrom the operation unit 822, the controller 821 reads encoded data fromthe DRAM 818 and supplies the encoded data to the recording medium 833installed to the medium drive 823 through the bus 817 for storage.

The recording medium 833 is an arbitrary readable and writable removablemedium such as a magnetic disk, a magneto-optical disk, an optical disc,or a semiconductor memory. It is apparent that the recording medium 833may be an arbitrary type as a removable medium and may be a tape device,a disk, or a memory card. Furthermore, the recording medium 833 may be anon-contact IC card or the like.

In addition, the medium drive 823 and the recording medium 833 may beintegrated so as to be configured as a non-portable storage medium suchas a built-in hard disk drive or a solid state drive (SSD).

The external interface 819, for example, is configured by a USBinput/output terminal or the like and is connected to the printer 834 ina case where an image is printed. In addition, a drive 831 is connectedto the external interface 819 as is necessary, a removable medium 832such as a magnetic disk, an optical disc, or a magneto-optical disk isappropriately installed, and a computer program read from them isinstalled in the flash ROM 824 as is necessary.

In addition, the external interface 819 includes a network interfacethat is connected to a predetermined network such as a LAN or theInternet. The controller 821, for example, may read encoded data fromthe DRAM 818 in accordance with an instruction transmitted from theoperation unit 822 and supply the encoded data to another device that isconnected through the network from the external interface 819. Inaddition, the controller 821 may acquire encoded data or image datasupplied from another device through the network through the externalinterface 819 and maintain the data in the DRAM 818 or supply the datato the image signal processing unit 814.

The above-described camera 800 uses the image decoding device 151 (300)as the decoder 815. Accordingly, similarly to the case of the imagedecoding device 151, the decoder 815 can perform the inverse orthogonaltransform processing with a smaller calculation amount.

Accordingly, the camera 800 can realize a high-speed process andgenerate a predicted image having high accuracy. As a result, the camera800, for example, can acquire a decoded image having higher accuracybased on the image data generated by the CCD/CMOS 812, the encoded dataof the video data read from the DRAM 818 or the recording medium 833,encoded data of the video data acquired through the network and displaythe decoded image on the LCD 816.

In addition, the camera 800 uses the image encoding device 51 (200) asthe encoder 841. Accordingly, the encoder 841, similarly to the case ofthe image encoding device 51 (200), can perform the orthogonal transformprocessing and the inverse orthogonal transform processing with asmaller calculation amount.

Therefore, the camera 800, for example, can improve the encodingefficiency of encoded data that is recorded in a hard disk. As a result,the camera 800 can use the storage area of the DRAM 818 or the recordingmedium 833 at a high speed more efficiently.

In addition, a decoding method used in the image decoding device 151(300) may be applied to the decoding process that is performed by thecontroller 821. Similarly, an encoding method used in the image encodingdevice 51 (200) may be applied to the encoding process that is performedby the controller 821.

Furthermore, the image data that is captured by the camera 800 may be amoving image or a still image.

It is apparent that the image encoding device 51 (200) and the imagedecoding device 151 (300) also can be applied to a device other than theabove-described device or a system.

In addition, an embodiment of the present technology is not limited tothe above-described embodiments, and various changes can be made thereinin a range not departing from the concept of the present technology.

Furthermore, the present technology may have the followingconfigurations.

(1)

There is provided an encoding device including: a prior orthogonaltransformation unit that performs a second orthogonal transform of whicha calculation amount is smaller than a calculation amount of a firstorthogonal transform for an image; a posterior orthogonal transformationunit that performs the first orthogonal transform for a low-frequencycomponent of the image that is acquired as a result of the secondorthogonal transform; and an encoding unit that encodes thelow-frequency component after the first orthogonal transform and ahigh-frequency component of the image that is acquired as a result ofthe second orthogonal transform.

(2)

The encoding device described in (1) described above, wherein the firstorthogonal transform is a separable-type Karhunen-Loeve transform.

(3)

The encoding device described in (1) or (2) described above, wherein theposterior orthogonal transformation unit performs a non-separable typeKarhunen-Loeve transform for the low-frequency component in a case wherea predicted direction of an intra prediction mode in an AVC (advancedvideo coding) mode of the image is an oblique direction and performs aseparable-type Karhunen-Loeve transform for the low-frequency componentin a case where the predicted direction of the intra prediction mode ofthe image is not the oblique direction.

(4)

The encoding device described in (3) described above, wherein, in a casewhere the predicted direction of the intra prediction mode of the imageis the oblique direction, the prior orthogonal transformation unitperforms the second orthogonal transforms more than the secondorthogonal transforms that are performed in a case where the predicteddirection of the intra prediction mode of the image is not the obliquedirection.

(5)

The encoding device described in any one of (1) to (4) described above,wherein the second orthogonal transform is a wavelet transform.

(6)

The encoding device described in any one of (1) to (5) described above,wherein the encoding unit encodes the low-frequency component after thefirst orthogonal transform and the high-frequency component in an orderaccording to the intra prediction mode in the AVC (advance video coding)mode of the image.

(7)

There is provided an encoding method performed by an encoding deviceincluding the steps of: performing a second orthogonal transform ofwhich a calculation amount is smaller than a calculation amount of afirst orthogonal transform for an image; performing the first orthogonaltransform for a low-frequency component of the image that is acquired asa result of the second orthogonal transform; and encoding thelow-frequency component after the first orthogonal transform and ahigh-frequency component of the image that is acquired as a result ofthe second orthogonal transform.

(8)

There is provided a decoding device including: a decoding unit thatacquires a coefficient of a low-frequency component of an image after afirst orthogonal transform that is acquired as a result of performing asecond orthogonal transform of which a calculation amount is smallerthan a calculation amount of the first orthogonal transform as a resultof encoding the image and a result of encoding a high-frequencycomponent of the image that is acquired as a result of performing thesecond orthogonal transform and decodes a result of encoding of theimage; a prior inverse orthogonal transformation unit that performs afirst inverse orthogonal transform that corresponds to the firstorthogonal transform for the coefficient of the low-frequency componentafter the first orthogonal transform that is acquired as a result of thedecoding; and a posterior inverse orthogonal transformation unit thatacquires the image by performing a second inverse orthogonal transformthat corresponds to the second orthogonal transform for thelow-frequency component that is acquired as a result of the firstinverse orthogonal transform and the high-frequency component that isacquired as a result of the decoding.

(9)

The decoding device described in (8) described above, wherein the firstinverse orthogonal transform is a separable-type inverse Karhunen-Loevetransform.

(10)

The decoding device described in (8) or (9) described above, wherein anintra prediction mode of the image in the AVC (advanced video coding)mode is included in the result of the encoding, and the prior inverseorthogonal transformation unit performs a non-separable type inverseKarhunen-Loeve transform for the coefficient of the low-frequencycomponent after the first orthogonal transform in a case where apredicted direction of the intra prediction mode is an oblique directionand performs a separable-type inverse Karhunen-Loeve transform for thecoefficient of the low-frequency component after the first orthogonaltransform in a case where a predicted direction of the intra predictionmode is not the oblique direction.

(11)

The decoding device described in (10) described above, wherein, in acase where the predicted direction of the intra prediction mode is anoblique direction, the prior inverse orthogonal transformation unitperforms the second inverse orthogonal transforms more than the secondinverse orthogonal transforms that are performed in a case where thepredicted direction of the intra prediction mode is not the obliquedirection.

(12)

The decoding device described in any one of (8) to (11) described above,wherein the second inverse orthogonal transform is an inverse wavelettransform.

(13)

The decoding device described in any one of (8) to (12) described above,wherein an intra prediction mode of the image in the AVC (advanced videocoding) mode is included in the result of the encoding, and the decodingunit decodes the coefficient of the low-frequency component after thefirst orthogonal transform and the high-frequency component in orderaccording to the intra prediction mode.

(14)

There is provided a decoding method performed by a decoding deviceincluding the steps of: acquiring a coefficient of a low-frequencycomponent of an image after a first orthogonal transform that isacquired as a result of performing a second orthogonal transform ofwhich a calculation amount is smaller than a calculation amount of thefirst orthogonal transform as a result of encoding the image and aresult of encoding a high-frequency component of the image that isacquired as a result of performing the second orthogonal transform anddecoding a result of encoding of the image; performing a first inverseorthogonal transform that corresponds to the first orthogonal transformfor the coefficient of the low-frequency component after the firstorthogonal transform that is acquired as a result of the decoding; andacquiring the image by performing a second inverse orthogonal transformthat corresponds to the second orthogonal transform for thelow-frequency component that is acquired as a result of the firstinverse orthogonal transform and the high-frequency component that isacquired as a result of the decoding.

REFERENCE SIGNS LIST

-   51 Image encoding device-   66 Lossless encoding unit-   91 DWT unit-   92-0 to 92-8 KLT unit-   101-0 to 101-8 Inverse KLT units-   103 Inverse DWT unit-   151 Image decoding device-   162 Lossless decoding unit-   200 Image encoding device-   221 DWT unit-   222-3 to 222-8 KLT unit-   241-3 to 241-8 Inverse KLT unit-   244 Inverse DWT unit

1. An encoding device comprising: a prior orthogonal transformation unitthat performs a second orthogonal transform of which a calculationamount is smaller than a calculation amount of a first orthogonaltransform for an image; a posterior orthogonal transformation unit thatperforms the first orthogonal transform for a low-frequency component ofthe image that is acquired as a result of the second orthogonaltransform; and an encoding unit that encodes the low-frequency componentafter the first orthogonal transform and a high-frequency component ofthe image that is acquired as a result of the second orthogonaltransform.